如何从varchar数据类型的列中获取日期,月份和年份?

时间:2015-01-29 13:49:08

标签: mysql sql

我的日期列有varchar数据类型。如何获取日,月和年?

例如:“29/01/2015”是SQL数据库中的varchar类型。

3 个答案:

答案 0 :(得分:1)

如果您的值始终采用此格式,请使用substring_index()

select substring_index(col, '/', 1) as day,
       substring_index(substring_index(col, '/', 2), '/', -1) as month,
       substring_index(col, '/', -1) as year

但是,您应该使用本机日期/时间格式在数据库中存储日期。它使操作更容易。

答案 1 :(得分:0)

你可以试试这个:

SELECT SUBSTRING(d,1,2) AS day, 
       SUBSTRING(d,4,2) AS month, 
       SUBSTRING(d,7,4) as year 
FROM t;

此查询以字符串形式返回日,月和年。

答案 2 :(得分:0)

select to_char(to_date('29/01/2015','DD/MM/YYYY'), 'DD') Day,
to_char(to_date('29/01/2015','DD/MM/YYYY'), 'MM') MonthNum,
to_char(to_date('29/01/2015','DD/MM/YYYY'), 'YYYY') Year,
to_char(to_date('29/01/2015','DD/MM/YYYY'), 'MON') MonthChar,
to_char(to_date('29/01/2015','DD/MM/YYYY'), 'Dy') Weekday,
to_char(to_date('29/01/2015','DD/MM/YYYY'), 'DDD') JulianDay
from dual;