我的选择查询中的日期格式为
Thu Sep 04 23:03:30 GMT 2014
并且在我的表日期中采用这种格式
13-NOV-13 03.38.22.000000000 AM
如何以DB格式转换。我尝试使用
TO_CHAR('Thu Sep 04 23:03:30 GMT 2014','DD-MMM-YY HH:MI:SS')
但没有工作。任何帮助将不胜感激。
答案 0 :(得分:1)
此:
select to_char(timestamp '2014-09-04 23:03:30 GMT','DD-MON-YY HH:MI:SS')
from dual
转换'Thu Sep 04 23:03:30 GMT 2014'所代表的时间戳
格式为'DD-MON-YY HH:MI:SS'(我认为你的意思是MON,而不是MMM)
但输入文字必须更改为'2014-09-04 23:03:30 GMT'(如图所示)
小提琴: http://sqlfiddle.com/#!4/d41d8/34741/0
<强>输出:强>
04-SEP-14 11:03:30
您在选择列表中放置的格式仅包含秒,但是,您指示在表中存储小数秒(可能是时间戳字段),以匹配该格式使用FF而不是SS。此外,您表明您使用的是HH12格式,而不是HH(12小时对24小时)。要做那些你想要的格式不同于你目前试图转换为:
select to_char(timestamp '2014-09-04 23:03:30 GMT','DD-MON-YY HH12:MI:FF AM')
from dual
小提琴: http://sqlfiddle.com/#!4/d41d8/34744/0
请注意,如果时间是在当天的后半段,它会显示PM而不是AM,尽管你在sql中看到了AM(参考http://www.techonthenet.com/oracle/functions/to_char.php)
<强>输出:强>
04-SEP-14 11:03:000000000 PM
答案 1 :(得分:0)
试试这个:
LEFT(DATENAME(dw,date),3) +' '+ CAST(date AS VARCHAR(20))
答案 2 :(得分:0)
您是否尝试过转换?
CONVERT(NVARCHAR(20),GETDATE(),13)
可以在此处找到所有不同的日期格式:http://msdn.microsoft.com/en-us/library/ms187928.aspx