Mysql SQL如何替换select return的值?
在my database(MySQL)表中,有一列分别用Mysql SQL如何替换select return的值?,mysql,sql,select,Mysql,Sql,Select,在my database(MySQL)表中,有一列分别用1和0表示true和false 但是在SELECT中,我需要将其替换为true或false以在GridView中打印 如何让我的选择查询来执行此操作 在我当前的表格中: id | name | hide 1 | Paul | 1 2 | John | 0 3 | Jessica | 1 我需要它显示: id | name | hide 1 | Pau
1
和0
表示true
和false
但是在SELECT
中,我需要将其替换为true
或false
以在GridView中打印
如何让我的选择查询来执行此操作
在我当前的表格中:
id | name | hide
1 | Paul | 1
2 | John | 0
3 | Jessica | 1
我需要它显示:
id | name | hide
1 | Paul | true
2 | John | false
3 | Jessica | true
您有许多选择:
使用TRUE
,FALSE
布尔值与域表联接
使用()
或者,如果不支持布尔值:
SELECT CASE WHEN hide = 0 THEN 'false' ELSE 'true' END FROM
如果希望列作为字符串值,则:
SELECT id, name, CASE WHEN hide = 0 THEN 'false' ELSE 'true' END AS hide
FROM anonymous_table
如果DBMS支持布尔值,则可以使用:
SELECT id, name, CASE WHEN hide = 0 THEN false ELSE true END AS hide
FROM anonymous_table
这是相同的,只是名称false
和true
周围的引号已被删除。您可以在select子句中使用强制转换,如:
SELECT id, name, CAST(hide AS BOOLEAN) FROM table_name;
您可以这样做:
SELECT id,name, REPLACE(REPLACE(hide,0,"false"),1,"true") AS hide FROM your-table
希望这能对你有所帮助。我找到了解决办法
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语句本身中的值
(移动时的情况如'966%'然后(选择替换(CAST(移动为nvarchar(MAX)),'966','0'))或移动端)请记住,表有名称-我们可以为您发明名称,但如果您告诉我们表的名称,则答案会更一致。由于不同的数据库管理系统之间存在差异,因此最好指定您正在使用的数据库管理系统。谢谢!下一天我会记住的!虽然它在给定REPLACE函数的情况下工作(哪个DBMS有这个功能?),但double应用程序并没有那么优雅,并且不能很好地扩展到3种或更多情况,是吗?不过,这是另一个答案。我刚刚用MySQL尝试过,如果您有3个以上的案例,那么您是对的,这不是一个很好的方法,但在这种情况下,这个解决方案就像您提到的那样有效。:)感谢您的评论我实际上喜欢这种方法,因为它有两个不同的值,而且在select语句中比在CASE/WHEN块中更容易查看。虽然这种方法有效,但它是一种技巧。Replace是一个字符串替换工具。假设发生了变化,字符串“01”代替了1。这将转换为“falsetrue”。最好对整个变量进行一些显式匹配。Mysql 5.7.19-0ubuntu0.16.04.1-要使作为隐藏
工作,我必须在大小写周围加上括号。。。结束
。因此:选择id,name,(CASE WHEN…END)作为hide FROM…
您必须告诉您的答案有效的原因!
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