编号 | 简述 | 语法 | 例句 | 说明 |
1 | sql语句查询判断某个字段中是否包含指定字符 | PATINDEX | select * from TableA where PATINDEX('%C#%',FieldID)>0 | patindex函数包含两个参数,分别是包含的字符串,指定字段 |
2 | sql语句中查询某个字段中指定字符的位置 | charindex | charindex('-',column) | charindex函数包含两个参数,第一个参数为指定字符,第二个参数为指定字段 |
3 | 将字符串反转 | reverse | reverse(column) | reverse函数包含一个参数:指定字段 |
4 | 获取指定数字之间的字符串 | substring | substring(column,startindex,endindex) | substring函数包含三个参数,分别为:指定字段,开始截取位置,结束截取位置 |
5 | sql语句查询某个字段中包含指定字符的最后一个位置 | substring |
declare@svarchar(100); set@s='ab-cd-ef'; select substring(@s,len(@s)-charindex('-',reverse(@s))+2,8000) |
由于sql中只有一次出现位置的内置函数,没有字符最后一次出现位置的内置函数。所以从后面取第一个,然后用substring。 |
6 | sql语句查询某个字段中包含制定字符的最后一一个字符的前面的字符 | substring | SUBSTRING(@Name,0, (LEN(@Name) - CHARINDEX('.', REVERSE(@Name)) + 1)) |