Ber*_*eSF 6 sql sql-server-2008
我有一个名为Number这个数据填充的列(列是nchar):
1
2
1091
3
20
2B
Run Code Online (Sandbox Code Playgroud)
我想要一个给出这个顺序的select语句:
1
2
2B
3
20
1091
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?谢谢大家的帮助
(编者)
Aar*_*and 18
在发现第一个非数字的位置后,您可以通过转换为数字来执行一些技巧.在末尾附加随机字符使得即使原始字符串不包含字母,它也会将所有字符串视为相同.
SELECT [Number] FROM dbo.TableName
ORDER BY CONVERT(INT, LEFT(Number, PATINDEX('%[^0-9]%', Number + 'z')-1));
Run Code Online (Sandbox Code Playgroud)