Синтаксис SQL: приведение типа данных, которые хранятся в виде данных - PullRequest
1 голос
/ 04 декабря 2009

У меня есть таблица, которая выглядит так:

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

Мне интересно, возможно ли сделать что-то вроде следующего, где я разыграю ордер как float - я знаю, что это неправильный синтаксис, но мне интересно, можно ли это сделать.

SELECT datatype, name, value FROM myTable
ORDER BY (float)name

Заранее спасибо.

1 Ответ

4 голосов
/ 04 декабря 2009

Для преобразования типов данных в SQL вы можете использовать CAST или CONVERT :

SELECT CAST('123' AS FLOAT), CONVERT(FLOAT, '123')

Но если ваше поле имени содержит значение, которое не может быть преобразовано в допустимое число с плавающей запятой, вы получите ошибку.

например.

SELECT CAST('NotAValidFloat' AS FLOAT)

даст вам:

Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to float.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...