SQL如何替换select返回值?

Lai*_*290 36 mysql sql select

在我的数据库(MySQL的)表中,有一列1,并0为代表truefalse分别.

但在SELECT,我需要替换truefalse在GridView中打印.

如何让我的SELECT查询这样做?

在我目前的表格中:

 id   |  name    |  hide
  1   |  Paul    |  1
  2   |  John    |  0
  3   |  Jessica |  1
Run Code Online (Sandbox Code Playgroud)

我需要它显示:

  id  |  name    |  hide
  1   |  Paul    |  true
  2   |  John    |  false
  3   |  Jessica |  true
Run Code Online (Sandbox Code Playgroud)

小智 51

你有很多选择:

  1. 与域表连接TRUE,FALSE 布尔值.
  2. 使用(如本回答所指)

    SELECT CASE WHEN hide = 0 THEN FALSE ELSE TRUE END FROM
    
    Run Code Online (Sandbox Code Playgroud)

    或者,如果不支持布尔值:

    SELECT CASE WHEN hide = 0 THEN 'false' ELSE 'true' END FROM
    
    Run Code Online (Sandbox Code Playgroud)


Ami*_*ade 24

你可以这样做:

SELECT id,name, REPLACE(REPLACE(hide,0,"false"),1,"true") AS hide FROM your-table
Run Code Online (Sandbox Code Playgroud)

希望这可以帮到你.


San*_*ath 17

我得到了解决方案

   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
Run Code Online (Sandbox Code Playgroud)

这是使用CASE这是另一个操作所选值的两个以上的选项.


Jon*_*ler 16

如果您希望列为字符串值,则:

SELECT id, name, CASE WHEN hide = 0 THEN 'false' ELSE 'true' END AS hide
  FROM anonymous_table
Run Code Online (Sandbox Code Playgroud)

如果DBMS支持BOOLEAN,则可以使用:

SELECT id, name, CASE WHEN hide = 0 THEN false ELSE true END AS hide
  FROM anonymous_table
Run Code Online (Sandbox Code Playgroud)

这是除了周围的名字报价相同的false,并true已被删除.


jos*_*tik 7

您可以在select子句中使用强制转换,如:

SELECT id, name, CAST(hide AS BOOLEAN) FROM table_name;
Run Code Online (Sandbox Code Playgroud)