Kar*_*thi 45 postgresql datetime date
日期是'YYYY-MM-DD'文本格式,现在我需要提取必须是数字的年份部分.我需要在单步中完成此转换,因为我需要在其他应用程序中使用,我无法创建新变量.
TO_DATE(t0.AESTDTC,'YYYY-MM-DD'),'YYYY-MM-DD'与此我能够转换为日期,但现在我需要从这个日期一步提取一年?谁能帮我?
fla*_*usa 81
尝试
select date_part('year', your_column) from your_table;
Run Code Online (Sandbox Code Playgroud)
要么
select extract(year from your_column) from your_table;
Run Code Online (Sandbox Code Playgroud)
小智 6
这一行解决了我在 postgresql 中的同样问题:
SELECT DATE_PART('year', column_name::date) from tableName;
Run Code Online (Sandbox Code Playgroud)
如果你想要month,那么简单地用替换也year可以month解决这个问题。
小智 5
答案是:
select date_part('year', timestamp '2001-02-16 20:38:40') as year,
date_part('month', timestamp '2001-02-16 20:38:40') as month,
date_part('day', timestamp '2001-02-16 20:38:40') as day,
date_part('hour', timestamp '2001-02-16 20:38:40') as hour,
date_part('minute', timestamp '2001-02-16 20:38:40') as minute
Run Code Online (Sandbox Code Playgroud)
从中选择一个,其中:my_date是yyyy-MM-dd格式的字符串输入参数:
SELECT EXTRACT(YEAR FROM CAST(:my_date AS DATE));
Run Code Online (Sandbox Code Playgroud)
或者
SELECT DATE_PART('year', CAST(:my_date AS DATE));
Run Code Online (Sandbox Code Playgroud)
更好地使用CAST,::因为可能与输入参数发生冲突。