SQL как заменить значения select return?
в моей таблице базы данных (MySQL) есть столбец с 1
и 0
представляют true
и false
соответственно.
а в SELECT
, мне нужно его заменить на true
или false
для печати в GridView.
как я SELECT
запрос для этого?
в моей текущей таблице:
id | name | hide
1 | Paul | 1
2 | John | 0
3 | Jessica | 1
мне нужно это показать тем самым:
id | name | hide
1 | Paul | true
2 | John | false
3 | Jessica | true
7 ответов
у вас есть несколько вариантов:
- присоединиться к таблице домена с
TRUE
,FALSE
Boolean значение. -
использовать (как указано в этом ответе)
SELECT CASE WHEN hide = 0 THEN FALSE ELSE TRUE END FROM
или Boolean не поддерживается:
SELECT CASE WHEN hide = 0 THEN 'false' ELSE 'true' END FROM
вы можете сделать что-то вроде этого:
SELECT id,name, REPLACE(REPLACE(hide,0,"false"),1,"true") AS hide FROM your-table
надеюсь, это поможет вам.
если вы хотите столбец в качестве строковых значений, то:
SELECT id, name, CASE WHEN hide = 0 THEN 'false' ELSE 'true' END AS hide
FROM anonymous_table
если СУБД поддерживает BOOLEAN, вы можете использовать вместо этого:
SELECT id, name, CASE WHEN hide = 0 THEN false ELSE true END AS hide
FROM anonymous_table
то же самое за исключением того, что кавычки вокруг имен false
и .
вы можете использовать приведение в предложении select, например:
SELECT id, name, CAST(hide AS BOOLEAN) FROM table_name;
Я получил решение
SELECT
CASE status
WHEN 'VS' THEN 'validated by subsidiary'
WHEN 'NA' THEN 'not acceptable'
WHEN 'D' THEN 'delisted'
ELSE 'validated'
END AS STATUS
FROM SUPP_STATUS
это использование случая Это еще один способ манипулировать выбранным значением для более чем двух параметров.
Я говорю, что утверждение case неверно, но это может быть хорошим решением.
Если вы решите использовать CASE
заявление, вы должны убедиться, что по крайней мере один из CASE
условие выполнено. В противном случае необходимо определить обработчик ошибок, чтобы поймать ошибку. Помните, что вам не нужно делать это с IF
заявление.
SELECT if(hide = 0,FALSE,TRUE) col FROM tbl; #for BOOLEAN Value return
или
SELECT if(hide = 0,'FALSE','TRUE') col FROM tbl; #for string Value return
замените значение в самой инструкции select...
(случай, когда мобильный, как "966%" затем (выберите заменить (CAST (Mobile AS nvarchar (MAX)),'966','0')) ELSE Mobile END)