it-swarm.com.ru

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
27
Lai32290

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

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

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

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

    SELECT CASE WHEN hide = 0 THEN 'false' ELSE 'true' END FROM
    
41
frugal-one

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

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

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

24
Amilcar Andrade

Если вы хотите столбец как строковые значения, то:

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 были удалены.

15
Jonathan Leffler

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

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

10
Sandeep Kamath

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

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

Я говорю, что инструкция 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
0
A.D.