Подтвердить что ты не робот

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
4b9b3361

Ответ 1

У вас есть несколько вариантов:

  • Присоединитесь к таблице домена с TRUE, FALSE Логическое значение.
  • Используйте (как указано в этом ответе)

    SELECT CASE WHEN hide = 0 THEN FALSE ELSE TRUE END FROM
    

    Или если Boolean не поддерживается:

    SELECT CASE WHEN hide = 0 THEN 'false' ELSE 'true' END FROM
    

Ответ 2

Вы можете сделать что-то вроде этого:

SELECT id,name, REPLACE(REPLACE(hide,0,"false"),1,"true") AS hide FROM your-table

Надеюсь, это поможет вам.

Ответ 3

Если вы хотите, чтобы столбец был строковым, то:

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 и true.

Ответ 4

Вы можете использовать кастинг в предложении select, например:

SELECT id, name, CAST(hide AS BOOLEAN) FROM table_name;

Ответ 5

Я получил решение

   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 Это другое, чтобы манипулировать выбранным значением для более двух опций.

Ответ 6

Я говорю, что аргумент 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