select
Year,
case
when len(month) = 2 then month
when len(month) = 1 then '0'+month else '' end as month,
case
when len(day) = 2 then day
when len(day) = 1 then '0'+day else '' end as day
from table
我希望这有助于展示如何构建case语句,然后您可以按以下方式连接它们:
select
Year +
case
when len(month) = 2 then month
when len(month) = 1 then '0'+month else '' end +
case
when len(day) = 2 then day
when len(day) = 1 then '0'+day else '' end +''+ as FullDate
from table
4条答案
按热度按时间nhn9ugyo1#
在大多数数据库中,可以使用如下逻辑将日期转换为:
有一个真实的日期可能就足够了。或者您可能希望使用适当的日期格式转换回字符串。例如,在mysql中,您可以使用
date_format()
.eqoofvh92#
试试这个。
选择年+月+日
ql3eal8s3#
一种方法是使用
lpad()
.但是,您应该修改该设计,并且只使用日期/时间类型的列。
oknrviil4#
在大多数sql风格中,可以使用case语句来应用逻辑(在本例中,使用0作为一位数日期值的前缀):http://www.mysqltutorial.org/mysql-case-statement/
例如。
我希望这有助于展示如何构建case语句,然后您可以按以下方式连接它们: