我將數據集設置爲varchar(500),但我只知道它是數字還是字符。計算小數點前後的空格
我需要計算一列的長度和小數點後的最大空格的最大空格。
例如:
ColumnA
1234.56789
123.4567890
將返回11位總和小數點後7位。
它可以是兩個單獨的查詢。
我將數據集設置爲varchar(500),但我只知道它是數字還是字符。計算小數點前後的空格
我需要計算一列的長度和小數點後的最大空格的最大空格。
例如:
ColumnA
1234.56789
123.4567890
將返回11位總和小數點後7位。
它可以是兩個單獨的查詢。
SELECT LEN(ColumnA)
,CHARINDEX('.',REVERSE(ColumnA))-1
FROM Table1
如果值沒有小數,上面會小數點後返回-1的空間,讓你可以使用:
SELECT LEN(ColumnA)
,CASE WHEN ColumnA LIKE '%.%' THEN CHARINDEX('.',REVERSE(ColumnA))-1
ELSE 0
END
FROM Table1
兩個演示:SQL Fiddle
如果您只想要MAX()
那麼您只需將上述內容包裝在MAX()
中:
SELECT MAX(LEN(ColumnA))
,MAX(CHARINDEX('.',REVERSE(ColumnA))-1)
FROM Table1
SELECT len(ColumnA), len(columnA) - charIndex('.',ColumnA)
FROM theTable
注意:如果沒有小數點,則長度將在兩個字段中返回。 –
SELECT ColumnA, Len(ColumnA) As Total, LEN(SUBSTRING(ColumnA,CHARINDEX('.',ColumnA,LEN(ColumnA)) As Decimal
FROM TABLE
呃,'LEN()'?你有沒有試圖做出自己的研究?它的結果是什麼? – zerkms
空格或字符? –