2014-01-30 27 views
5

我需要sql server中列值的空格数。统计sql server中值的空格数

例:

column1 
------------ 
aaa bbbb - 1 space 
aaa bbb ccc - 2 space 
aaa bbb ccc ddd - 3 space 

我需要这样的空间计数。

谢谢。

+0

@mhasan从计数逗号到空格有很大的区别。如果你测试我的答案,你可以看到为什么。 –

回答

21
SELECT LEN(column1)-LEN(REPLACE(column1, ' ', '')) 
3

尝试这一个 -

DECLARE @t TABLE (txt VARCHAR(50)) 
INSERT INTO @t (txt) 
VALUES 
     ('aaa bbbb') 
    , ('aaa bbb ccc') 
    , ('aaa bbb ccc ddd') 

SELECT txt, LEN(txt) - LEN(REPLACE(txt, ' ', '')) 
FROM @t 
+3

@Devart当文本末尾有空格时,您的答案不会返回正确的计数。计数时会忽略最后的空格。 –

2

这是针对该

select len('aaa bbb') - len(replace('aaa bbb ccc', ' ', '')) from 
**tablename** 

输出

select len('aaa bbb ccc') - len(replace('aaa bbb ccc', ' ', '')) from 
**tablename** 
一个代码

输出中

表名禁毒常务委员会是任何表可以在你的数据库

10

这会给不同的,更准确的结果比其他的答案,它也是在年底计数空间

DECLARE @a table(column1 varchar(20)) 
INSERT @a values('b c ') 
INSERT @a values('b c') 
INSERT @a values(' b c  ') 

SELECT 
LEN(column1 + ';')-LEN(REPLACE(column1,' ','')) - 1 accurate, 
LEN(column1)-LEN(REPLACE(column1,' ', '')) [inaccurate] -- other answers 
FROM @a 

结果::

accurate inaccurate 
2   1 
1   1 
10   4 
的话,当在这些实施例中测试变得清楚