SQL Server中巧用另類寫法代替Like語句
提到Like語句大家都很熟悉,比如查詢使用者名稱包含有"c"的所有使用者, 我們可以用 use mydatabase
select * from table1 where username like'%c%"
以下是完成上面功能的另一種寫法:
use mydatabase
select * from table1 where charindex('c',username)>0
這種方法理論上比上一種方法多了一個判斷語句,即>0, 但這個判斷過程是最快的, 我相信80%以上的運算都是花在查詢字串及其它的運算上, 所以運用charindex函式也沒什麼大不了。用這種方法也有好處, 那就是對%,|等在不能直接用like 查詢到的字元中可以直接在這charindex中運用, 如下:
use mydatabase
select * from table1 where charindex('%',username)>0
大家還可以寫成:
use mydatabase
select * from table1 where charindex(char(37),username)>0
ASCII的字元即為%
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-548729/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql 索引巧用,SQL語句寫得忒野了MySql索引
- SQL語句規範的寫法SQL
- OCI插入SQL語句的寫法SQL
- MyBatis中Like語句使用總結MyBatis
- ASP中巧用Split()函式生成SQL查詢語句 (轉)函式SQL
- SQL SERVER 中構建執行動態SQL語句SQLServer
- Sql Server系列:Update語句SQLServer
- Sql Server系列:Delete語句SQLServerdelete
- SQL server 查詢語句SQLServer
- sql server中常用語句SQLServer
- SQL SERVER全面優化:寫出好語句是習慣SQLServer優化
- DBA常用SQL語句[sql server] 2SQLServer
- sql server 中的一些實用的sql語句SQLServer
- Sql Server 資料庫獲取字串中小寫字母的SQL語句SQLServer資料庫字串
- Oracle SQL語句分類OracleSQL
- MySql與Sql Server Update語句MySqlServer
- SQL Server阻塞查詢語句SQLServer
- Sql Server系列:Insert語句SQLServer
- Sql Server Rollup 語句的用法SQLServer
- SQL SERVER 流程控制語句SQLServer
- SQL Server SQL語句執行順序SQLServer
- 另類SQL拼接方法SQL
- 另類SQL優化SQL優化
- orcale 語句基本語法縮寫
- Oracle sql with 語句語法與例子OracleSQL
- SQL Server中SELECT語句執行順序解析SQLServer
- MySQL資料庫中SQL語句分幾類?MySql資料庫
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- SQL Server優化之SQL語句優化SQLServer優化
- Sql Server系列:資料控制語句SQLServer
- Sql Server系列:流程控制語句SQLServer
- Sql Server系列:Select基本語句SQLServer
- 我透過諮詢才知道的sql語句寫法SQL
- sql語句抄寫作業SQL
- 如何寫這個sql語句?SQL
- 【原】關於資料倉儲中複雜報表SQL語句的寫法SQL
- sql server中如何檢視執行效率不高的語句SQLServer
- SQL Server 2008中的新語句:MERGESQLServer