我有一个看起来像这样的表:
id datatype name value
0 nvarchar(255) myName 'Paul'
1 int age '30'
2 float(53) Custom1 0.5
3 float(53) Custom2 1.3
4 float(53) Custom3 2.7
我想知道是否有可能做以下的事情,我把它作为一个浮点数转换 - 我知道这是不正确的语法,但想知道是否可以这样做。
SELECT datatype, name, value FROM myTable
ORDER BY (float)name
提前致谢。
答案 0 :(得分:4)
要在SQL中转换数据类型,可以使用CAST or CONVERT:
SELECT CAST('123' AS FLOAT), CONVERT(FLOAT, '123')
但是如果你的名字段包含一个无法转换为有效浮点数的值,你就会收到错误。
e.g。
SELECT CAST('NotAValidFloat' AS FLOAT)
会给你:
Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to float.