use*_*152 1 mysql cast concat date
我需要从mysql的表中选择存储在列transactionDate数据类型中的日期date和存储在列transactionTime数据类型中的时间。我的查询就像varchartransactionTable
select concat( CAST( transactionDate as char), transactionTime) as transaction
from transactionTable
where id = 123
Run Code Online (Sandbox Code Playgroud)
两列中都有值,但以上返回一个空值。如何连接date和varchar列?
当参数之一为空时,该CONCAT()函数返回NULL。您可以使用COALESCE()绕过该问题,将空值转换为空字符串 - 或任何其他常量值,例如'00:00:00'时间部分:
select concat( coalesce(cast(transactionDate as char), ''),
' ',
coalesce(transactionTime, '00:00:00')
) as transaction
from transactionTable
where id = 123 ;
Run Code Online (Sandbox Code Playgroud)
事实上,你并不真正需要一个显式cast(),转换char为隐式:
select concat( coalesce(transactionDate, ''),
' ',
coalesce(transactionTime, '00:00:00')
) as transaction
from transactionTable
where id = 123 ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6956 次 |
| 最近记录: |