我知道这是一个重复的问题,但我找不到问题的答案。
我想把03-FEB-2014作为03-02-2014。我正在使用以下查询:
SELECT CONVERT(date,CREATED,105) from dbstatus
但它抛出以下错误:
Error starting at line 1 in command:
SELECT CONVERT(date,CREATED,105) from dbstatus
Error at Command Line:1 Column:15
Error report:
SQL Error: ORA-00936: missing expression
00936. 00000 - "missing expression"
*Cause:
*Action:
“CREATED”是日期为03-FEB-2014
的列的名称答案 0 :(得分:2)
首先选择to_date(date_column,'YYYY-MM-DD')
,然后应用to_char(date_column,'YYYY-MM-DD')
--03-FEB-2014 as 03-02-2014
select to_char( to_date(sysdate,'dd-mon-yyyy'),'dd-mm-yyyy') from dual;
答案 1 :(得分:0)
不要使用转换。转换它用于在字符集之间进行转换。
而是将MONTHNAME
用于您想要的内容:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_monthname
编辑:实际上,我认为你要做的是将FEB变成02.如果是这样的话,你可以用它来做到这一点:
month(str_to_date('Feb','%b'))
这将返回2,然后您可以CONCAT
进入您的日期。