SQL查询将2019/05/21 00:00:00格式转换为19年6月21日(即DD-MON-YY)

时间:2019-06-06 10:42:07

标签: sql oracle

我的日期格式为“ 2019/05/21 00:00:00”,我需要使用SQL将其转换为“ 21-JUN-19”。我该如何转换呢?

2 个答案:

答案 0 :(得分:1)

假设源值是一个字符串,则

  • 首先将其转换为日期(使用to_date,并使用适当的格式掩码)
  • 然后将其转换为字符串(使用to_char,并再次使用适当的格式掩码)

顺便说一句,为什么要将2019 / 05 / 21转换为 jun ?可以做到,没问题(ADD_MONTHS就可以做到),只是想知道您是故意还是错误地做到了。

SQL> select to_char(to_date('2019/05/21 00:00:00', 'yyyy/mm/dd hh24:mi:ss'), 'dd-mon-yy') result from dual;

RESULT
---------
21-may-19

SQL>

答案 1 :(得分:1)

您可以使用substr()to_date()

select to_date(substr('2019/05/21 00:00:00', 1, 10), 'YYYY/MM/DD')
from dual;