关于字符串函数的sql查询

时间:2017-07-23 13:31:01

标签: sql string

ID  MOBILE 
1   9869600733 
2   9869600793 
3   9869600799 

其移动号码包含9次的所有id三次(使用字符串函数,如replace,substr等)......? (没有像,%等)

2 个答案:

答案 0 :(得分:1)

您可以使用LENReplace

Where len(MOBILE)-len(replace(MOBILE ,'9',''))>=3

注意:有些DBMS使用LENGTH代替LEN

Where length(MOBILE)-length(replace(MOBILE ,'9',''))>=3
  • replace(MOBILE ,'9','')会将所有9's替换为空 串
  • length(MOBILE)会计算Mobile中的字符数 柱
  • length(replace(MOBILE ,'9',''))将计算字符数 在Mobile列中将9's替换为空字符串
  • length(MOBILE)-length(replace(MOBILE ,'9',''))在这里 差异将告知我们9的遗失字符数,您可以使用此差异来计算9

答案 1 :(得分:1)

正好是三个'9':

Select * from mytable
Where len(mobile) - len(replace(mobile, '9', '')) = 3

至少三个'9':

Select * from mytable
Where len(mobile) - len(replace(mobile, '9', '')) >= 3