将日期转换为年、月和日SQL的各个数字列
我有一个日期列,格式为将日期转换为年、月和日SQL的各个数字列,sql,Sql,我有一个日期列,格式为YY-MON-DD,例如2005年6月25日。是否可以将其分为年、月和日三个单独的列?其中月份从文本转换为数字,例如年:25,月:06,日:05?
YY-MON-DD
,例如2005年6月25日
。是否可以将其分为年、月和日三个单独的列?其中月份从文本转换为数字,例如年:25
,月:06
,日:05
?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
如果您使用的是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
样本输出:
您没有指定您的DBMS 以下是标准SQL,假设列实际上是
日期列
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;
您正在使用哪个DBMS?在SQL Server中,使用DATEPART
提取日期的每个部分:和。在MySQL中,使用与月、周等相关联的日期函数,。。奇迹年:25Hi,问题是这个月被表示为文本。e、 g。2005年6月25日。运行您发送的内容时出错。我有大约74行数据,格式为yy-MON-dd,日期不同。您发送的内容是否会自动为每个日期执行此操作?没有问题,请尝试使用更新的脚本,替换您的实际列名和表名。谢谢,这样做了!