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