将日期转换为年月和日SQL的单个数字列

时间:2016-09-29 09:15:39

标签: sql

我有YY-MON-DD格式的日期列,例如25-JUN-05。是否可以将其分为3个单独的列,分别为年,月和日?月份从文本转换为数字,例如年份:25,月份:06,日期:05

3 个答案:

答案 0 :(得分:0)

MS SQL SERVER

建议使用Nebi,您可以使用DATEPART并提取每个部分并将其存储到不同的列中。

SELECT DATEPART(DAY,'2008-10-22');       -- Returns DAY part i.e 22
SELECT DATEPART(MONTH,'2008-10-22');     -- Returns MONTH part i.e 10
SELECT DATEPART(YEAR,'2008-10-22');      -- Returns YEAR part i.e 2008

答案 1 :(得分:0)

如果您使用的是SQL Server,请尝试使用以下脚本。

SELECT 'Year: '+CAST(LEFT(YourdateColumn,2) as VARCHAR(2))+', Month: ' +CAST(MONTH('01-'+SUBSTRING(YourdateColumn,4,3)+'-15')as VARCHAR(2))+', Day:'+CAST(RIGHT(YourdateColumn,2)as VARCHAR(2))
 FROM Yourtable

示例输出: enter image description here

答案 2 :(得分:0)

您没有指定DBMS。

以下是标准SQL,假设列真的DATE

select extract(year from the_column) as the_year,
       extract(month from the_column) as the_month,
       extract(day from the_column) as the_day
from the_table;