2014-01-30 28 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 
的話,當在這些實施例中測試變得清楚