如何将前面的零添加到个位数中,并将列连接起来,使日期显示在一列中



我的查询提供以下结果:

从表中选择年、月、日

year    month   day
----    -----   ---
1999    10  9
2000    11  14
2003    6   4
2007    9   14
2008    9   30
1999    3   8
1999    5   27
1999    10  19

我想让我的结果看起来像这样:

date
19991009
20001114
20030604
20070914
20080930
19990308
19990527
19991019

我的答案更多地是从MS sql server的角度来看的,因为我不知道你在使用哪个rdbms:

select cast(year as varchar(10)) + right('00' +cast(month as varchar(10)),2) + right('00' +cast(day as varchar(10)),2)
from table

这将适用于

SELECT CAST(year AS varchar) + RIGHT('0' + CAST(month AS varchar),2) + RIGHT('0'+ CAST(day AS varchar),2) 
FROM Table

如果数据已经是字符串,则可以使用

SELECT year +
       RIGHT('00'+ month, 2) + 
       RIGHT('00'+ day, 2)

对于像这样的整数

SELECT 
      CAST(year AS VARCHAR(4))+
      RIGHT('00'+ CAST(month AS VARCHAR(2)),2) + 
      RIGHT('00'+ CAST(day AS VARCHAR(2)),2)
FROM YourTable

对于整数,这也可以工作

SELECT 
      CAST(year AS VARCHAR(4))+
      RIGHT(100 + month, 2) + 
      RIGHT(100 + day, 2)
FROM YourTable

相关内容

最新更新