3 回答

TA貢獻1818條經驗 獲得超11個贊
sql語句判斷一個字段是否包含在另一個字符串中的方法
一、語句中使用到的函數有
1、CHARINDEX:函數返回字符或者字符串在另一個字符串中的起始位置。
語法:CHARINDEX ( expression1 , expression2 [ , start_location ] )
expression1是要到expression2中尋找的字符中,start_location是CHARINDEX函數開始在expression2中找expression1的位置。
CHARINDEX函數返回一個整數,返回的整數是要找的字符串在被找的字符串中的位置。假如CHARINDEX沒有找到要找的字符串,那么返回0
2、rtrim:函數去除字符串右邊的空格符。
二、例子中的表格為:tt,結構數據如下
下面語句檢索test_column字段的值包含在字符串 ‘aabb’中的記錄
1 | select * from tt where CHARINDEX(rtrim(test_column), 'aabb' ) > 0 ; |
1、rtrim(test_column),部分數據庫,在對字符型字段的值做操作的時候,會在字符串的右邊補足空格符。
例如:字段類型為char(8),字段的值為‘aa’,那么會使用‘aa ’來操作,這樣會影響語句的結果。所以使用rtrim函數去除字符串右邊的空格符。
2、CHARINDEX(rtrim(test_column),'aabb'),在字符串‘aabb’中查找是否包含rtrim(test_column)返回的字符串,找到返回字符串起始位置,反之返回0.所以包含則返回大于0的值。
3、語句執行結果:
- 3 回答
- 0 關注
- 14236 瀏覽
添加回答
舉報