如果我想在我的数据库(有10,000行)的每一行中计算(x),显示在下面
data
@ REAMS X PALLETSDIMENSION (WXLXH) : " X " X "
@ 160 REAMS x 40 PALLETS1 CARTON = 5 REAMS
@ 5 REAMS x 15,360 CARTONSDIMENSION (WXLXH): 9"x13"x13"
我希望计数结果是
data count x
@ REAMS X PALLETSDIMENSION (WXLXH) : " X " X " 5
@ 160 REAMS x 40 PALLETS1 CARTON = 5 REAMS 1
@ 5 REAMS x 15,360 CARTONSDIMENSION (WXLXH): 9"x13"x13" 5
无论如何如何编写获取x的计数数的代码?
答案 0 :(得分:1)
您可以使用字符串长度的差异来计算字符串中特定字母的数量:
select length(data) - length(replace(lower(data), 'x', '')) as num_xs
但是,对于第一行和最后一行,这将返回“4”,而不是3.因此,我不确定您真正想要的计算。
注意:在某些数据库中,length()
拼写为len()
。
答案 1 :(得分:0)
DECLARE @temp AS VARCHAR(MAX) = '@ 5 REAMS x 15,360 CARTONSDIMENSION (WXLXH): 9"x13"x13"'
,@occuranceCountForCharacter CHAR(1) = 'X'
SELECT LEN(@temp) - LEN(REPLACE(@temp, @occuranceCountForCharacter, '')) AS CharCount