考慮存儲在nvarchar
列下面的數據得到最高值:SQL - 從一個字符串片段
11290796
21290795
31290794
我需要獲得與最後四個字符的最高int
值的數據,這樣的結果應該是像這樣:
11290796
考慮存儲在nvarchar
列下面的數據得到最高值:SQL - 從一個字符串片段
11290796
21290795
31290794
我需要獲得與最後四個字符的最高int
值的數據,這樣的結果應該是像這樣:
11290796
最好是將該列定義爲int的,而不是爲varchar,你可以得到所需要的右和投
Declare @maxval int =
(select
max(cast (right(col, 4) as int)) from TableA)
Select * from TableA where cast (right(col, 4) as int) = @maxval
這不會返回整個字符串。 – 2014-09-27 18:46:44
不錯,除了OP有列作爲varchar,並提出一個基於保持varchar列的問題 – 2014-09-27 18:49:56
它完全符合我的需求。謝謝!此時不能修改架構,否則我們會將其更改爲int當然:) – 2014-09-27 18:49:56
MAX(CONVERT((SUBSTRING(myColumn,-4,4)),SIGNED INTEGER))as greatestNum – 2014-09-27 18:42:39
爲什麼要在nvarchar列中存儲數字,並且如果最後四位數字很重要,爲什麼?它代表應該分開存儲的東西嗎? – 2014-09-27 18:45:51