sql 在一个字符串中查找特定的字符串 sql查询一个字段中有多少个特定字符串

\u5728SQLSERVER\u4e2d\u5982\u4f55\u68c0\u6d4b\u4e00\u4e2a\u5b57\u7b26\u4e32\u4e2d\u662f\u5426\u5305\u542b\u53e6\u4e00\u4e2a\u5b57\u7b26\u4e32

SQL\u8bed\u53e5\u4f7f\u7528CHARINDEX\u51fd\u6570\uff0c\u6765\u6d4b\u8bd5\u4e00\u4e2a\u5b57\u7b26\u4e32\u4e2d\u662f\u5426\u5305\u542b\u53e6\u4e00\u4e2a\u5b57\u7b26\u4e32\u4e2d\u7684\u65b9\u6cd5\uff1a
\u4e00\u3001CHARINDEX\u51fd\u6570\u4ecb\u7ecd
1\u3001\u51fd\u6570\u529f\u80fd\uff1a\u51fd\u6570\u8fd4\u56de\u5b57\u7b26\u6216\u8005\u5b57\u7b26\u4e32\u5728\u53e6\u4e00\u4e2a\u5b57\u7b26\u4e32\u4e2d\u7684\u8d77\u59cb\u4f4d\u7f6e\u3002
2\u3001\u8bed\u6cd5\uff1aCHARINDEX ( expression1 , expression2 [ , start_location ] )
3\u3001\u53c2\u6570\u8bf4\u660e\uff1aexpression1\u662f\u8981\u5230expression2\u4e2d\u5bfb\u627e\u7684\u5b57\u7b26\u4e2d\uff0cstart_location\u662fCHARINDEX\u51fd\u6570\u5f00\u59cb\u5728expression2\u4e2d\u627eexpression1\u7684\u4f4d\u7f6e\u3002
4\u3001\u51fd\u6570\u8fd4\u56de\u503c\uff1aCHARINDEX\u51fd\u6570\u8fd4\u56de\u4e00\u4e2a\u6574\u6570\uff0c\u8fd4\u56de\u7684\u6574\u6570\u662f\u8981\u627e\u7684\u5b57\u7b26\u4e32\u5728\u88ab\u627e\u7684\u5b57\u7b26\u4e32\u4e2d\u7684\u4f4d\u7f6e\u3002\u5047\u5982CHARINDEX\u6ca1\u6709\u627e\u5230\u8981\u627e\u7684\u5b57\u7b26\u4e32\uff0c\u90a3\u4e48\u8fd4\u56de0
\u4e8c\u3001\u4f8b\uff1a\u5728\u5b57\u7b26\u4e32\u2018abcdef\u2019\u4e2d\u67e5\u627e\u5b57\u7b26\u4e32\u2018cd\u2019,\u8fd0\u884c\u7ed3\u679c\u4e3a3\uff0c\u56e0\u4e3aC\u4e3a\u7b2c3\u4e2a\u5b57\u7b26\u3002

select len(\u5b57\u6bb5\u540d)-len(replace(\u5b57\u6bb5\u540d,'\u7279\u6b8a\u5b57\u7b26','')) from \u8868\u540d
--\u6bd4\u5982\u67e5\u8be2\u5b57\u7b26\u4e32 '123+456+789' \u4e2d\u6709\u591a\u5c11\u4e2a\u52a0\u53f7'+'
select len('123+456+789')-len(replace('123+456+789','+','')) from \u8868\u540d

类似我昨天回答过的问题。
设计思路:把 25(需匹配的数据),剔出掉。剔出后,连续连个逗号,或首逗号,或尾逗号,都说明只含有需匹配的数据。
select 其他字段 from
(select 其他字段,replace(字段,'25','') as tt from 表AA)
where tt like in (',%',',,','%,')

where tt like ',%' or tt like '%,,%' or tt like '%,'

like '25,%' or like '%,25,%' or like '%,25'

补充:
写成存储过程
或拼接sql字符串

//自己动手,丰衣足食!阿弥陀佛!!!!

select * from AA where ziduan like '25,%' or ziduan like '%,25,%' or ziduan like '%,25'

而且你发的逗号是中文标点,如果要考虑这个可能还要把上面的条件都补上','情况的.

select * from AA where ziduan like '25,%' or ziduan like '%,25,%' or ziduan like '%,25.'
最后那部分貌似还有个点号

你的这个问题,估计要用到游标,然后在循环,本来想帮你写个,但是分实在是。。你还是自己研究下吧~~~

扩展阅读:sql 字符串长度 汉字 ... sql截取字符串后面四位 ... substring截取字符串 ... sql查询成绩前三名 top ... sql查询包含某个字符串 ... sql中截取之间的字符串 ... sql截取指定字符的位置 ... sql中like多个字符串 ... sql中字符串转为日期格式 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网