MySQL返回十进制列作为基于其他列值的字符串值

时间:2018-11-29 14:20:21

标签: mysql

我有一个如下表

id   Hour   Subtask
 ---  ----   --------
 1     5      Coding
 2     0      PTO

I need the output like below

 id   Hour   Sub task
 ---  ----   --------
 1     '5'     Coding
 2     'PTO'    PTO

我想将小时列作为字符串返回,如输出表中所述。

2 个答案:

答案 0 :(得分:0)

如果您的逻辑是将subtask设置为 PTO 时将小时更改为 PTO ,那么您可以在以下位置使用:

SELECT ID,IF(subtask='PTO','PTO',CONCAT("'",HOUR,"'") as hour,subtask FROM yourtable 

答案 1 :(得分:0)

您是说“ 作为提及的字符串”是数据类型还是字符串格式? 我想您不需要带引号的字符串,而是强制转换值:

SELECT id, if(Subtask='PTO',Subtask,cast(Hour as char)) Hour, Subtask

SELECT id, if(Hour=0,Subtask,cast(Hour as char)) Hour, Subtask