Преобразование float в varchar с помощью IIF - PullRequest
0 голосов
/ 10 июля 2020

У меня есть запрос на преобразование float в varchar, и он не работает.

select (CONVERT (VARCHAR(50), age,128)) iif(Age = '0','under 1 year', age)
from student

Я не могу понять это правильно.

данные

age
0
0
1
3
7

и становится

age
under 1 year
under 1 year
1
3
7

не работает с этим запросом

select case when age = 0 then  convert(varchar(50), age, 'under 1 year' from student

1 Ответ

1 голос
/ 10 июля 2020

Это то, что вы хотите?

select case when age = 0 then 'under 1 year' else convert(varchar(50), age) end
from student;

Я не рекомендую формат 128. Поскольку документация указывает:

126, 128, 129 Включено по причинам устаревания; в будущих версиях эти значения могут быть исключены.

Кроме того, нет причин изучать iif(). case выражения являются стандартными SQL и более универсальными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...