use*_*152 1 mysql cast concat date
我需要从mysql的表中选择存储在列transactionDate
数据类型中的日期date
和存储在列transactionTime
数据类型中的时间。我的查询就像varchar
transactionTable
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 次 |
最近记录: |