2014-09-27 98 views
0

我创建了一个datetime类型的字段。我想在YYYY/M/d格式显示这些我如何将格式日期转换为d/M/yyyy并将格式化时间转换为h:mm:ss上午在SQL中

例如

日期2014年9月9日,显示为2014年9月9日

此外,我需要显示时间字段[Time_Orde]在这种格式下午2时43分14秒

我使用SQL Server 2008

我试图函数

CONVERT (data_type [ (length) ] , expression [ , style ]) 

我的代码:

SELECT CONVERT(date,Order_Date) from Orders_Teakeaway 

但我不能让这种格式2014年9月9日

+0

其RDBMS使用的是? – radar 2014-09-27 01:13:13

+1

再次阅读您自己的问题,看看它是否有任何意义..“我想将格式日期转换为:d/M/yyyy”......然后您说'“日期09/09/2014至9-9 -2014和从右到左2014-9-9在SQL转换器“',你究竟想要什么,你不能简单地说我有日期时间字段,在这样的格式,我希望它是这样的格式。在这里提出一个问题不是一个谜。 – 2014-09-27 01:40:15

+0

sql server 2008 – 2014-09-27 01:51:57

回答

1

没有单一的风格号,会给你YYYY/M/d 2014年9月9日

尝试此:

convert(varchar(5),Order_Date,111) + replace(convert(varchar(5),Order_Date,1),'0','') 

样式111是YYYY/MM/DD,但我们只取第5个字符(YYYY /) 样式1是MM/DD/YY但我们再次只取第5个字符(MM/DD) 然后更换任何零的为MM/DD部分并连接

对于时间,试试这个

left(right(CONVERT(VARCHAR(20), Time_Orde, 100),7),5) 
+ left(right(CONVERT(VARCHAR(27), Time_Orde, 9),9),3) 
+ right(CONVERT(VARCHAR(20), Time_Orde, 100),2) 
+0

格式日期的很好的函数,但是,时间函数没有起作用select(convert (varchar,Time_Orde,100),12,7)订单 – 2014-09-27 03:27:17

+0

请投我一票 – 2014-09-27 03:32:39

+0

@SherifHamdy我已更改时间格式,请尝试 – 2014-09-27 04:25:42