sql语言:如何查询字符串某个字符的个数?

sql语言:如何查询字符串某个字符的个数?

这语句太精彩了! 

select len('05011045')-len(replace('05011045','0',''))

转载于:https://www.cnblogs.com/sandyliu1999/p/4853939.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 MySQL 内置的函数 `SUBSTRING_INDEX` 和 `REPLACE` 来实现将一个包含逗号分割的字符串转换为多行的 SQL 语句。 假设需要将字符串 `'a,b,c,d,e'` 转换为多行,可以使用以下 SQL 语句: ``` SELECT REPLACE(SUBSTRING_INDEX('a,b,c,d,e', ',', n), ',', '') AS value FROM ( SELECT 1 + units.i + tens.i * 10 AS n FROM ( SELECT 0 AS i UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 ) units JOIN ( SELECT 0 AS i UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 ) tens ON 1 WHERE n <= 1 + (LENGTH('a,b,c,d,e') - LENGTH(REPLACE('a,b,c,d,e', ',', ''))) ) AS numbers; ``` 执行以上 SQL 语句,可以得到如下结果: ``` value ----- a b c d e ``` 解释一下上述 SQL 语句: 1. `LENGTH('a,b,c,d,e') - LENGTH(REPLACE('a,b,c,d,e', ',', ''))` 可以得到字符串中逗号的个数,加 1 即为需要生成的多行数目。 2. `SELECT 1 + units.i + tens.i * 10 AS n` 生成一个包含数字序列的临时表。 3. `SUBSTRING_INDEX('a,b,c,d,e', ',', n)` 取出以逗号为分隔符的前 n 段字符串。 4. `REPLACE(SUBSTRING_INDEX('a,b,c,d,e', ',', n), ',', '')` 去掉字符串中的逗号。 通过将上述 SQL 语句中字符串 `'a,b,c,d,e'` 替换为你要处理的字符串即可实现将其通过逗号分割并变成多行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值