簡體   English   中英

如何從具有varchar數據類型的列中獲取日期,月份和年份?

[英]How to fetch date, month and year from column with varchar data type?

我有varchar數據類型的日期列。 如何獲取日,月和年?

例如:“ 29/01/2015”是SQL數據庫中的varchar類型。

如果您的值始終采用這種格式,則只需使用substring_index()

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

但是,您應該使用本地日期/時間格式將日期存儲在數據庫中。 它使對它們的操作變得更加容易。

您可以嘗試以下方法:

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

該查詢以字符串形式返回日,月和年。

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM