我有一个包含如下值的列:
Column_1
3
4
-94#30#56#
56
730#-58#
如果列值包含#,则计算#的数量并替换那些现有值。
我的输出应该看起来像
Column_1
3
4
3
56
2
答案 0 :(得分:3)
一种方法是使用SQL REPLACE
函数并将包含Column_1
的{{1}}值的原始长度与已删除所有#
的长度进行比较:
#
我使用了SQL Server语法,并且该查询需要针对其他数据库进行调整。
答案 1 :(得分:0)
请在下面的查询中尝试
SELECT
CASE WHEN (len(Column_1) - len(replace(Column_1,'#',''))) > 0
THEN
(len(Column_1) - len(replace(Column_1,'#','')))
ELSE
Column_1
END
FROM @tbl