Saq*_*eed 12 select date date-format sql-server-2008
我正在使用CONVERT(data_type(length),expression,style)函数来更改SELECT查询中的日期格式.
声明@dt nvarchar(20)
从SalesTable中选择@dt = Convert(nvarchar(20),SalesDate,113)
我需要的格式是'dd-MMM-yyyy'(例如'05 -Jul-2013')但是我找不到这种特定格式的正确样式编号(例如113).请问有人帮我吗?
Abh*_*ain 29
试试这个:
Declare @dt NVARCHAR(20)
Select
@dt = REPLACE(CONVERT(CHAR(15), SalesDate, 106),' ',' - ')
FROM SalesTable
Run Code Online (Sandbox Code Playgroud)
小智 8
select CONVERT(NVARCHAR, SYSDATETIME(), 106) AS [DD-MON-YYYY]
Run Code Online (Sandbox Code Playgroud)
要不然
select REPLACE(CONVERT(NVARCHAR,GETDATE(), 106), ' ', '-')
Run Code Online (Sandbox Code Playgroud)
两者都很好
默认情况下,它看起来不像DD-MMM-YYYY(至少使用短划线作为分隔符).但是,使用AS子句,您应该能够执行以下操作:
SELECT CONVERT(VARCHAR(11), SYSDATETIME(), 106) AS [DD-MON-YYYY]
见这里:http://www.sql-server-helper.com/sql-server-2008/sql-server-2008-date-format.aspx
小智 5
我认为这是最好的方法。
REPLACE(CONVERT(NVARCHAR,CAST(WeekEnding AS DATETIME), 106), ' ', '-')
Run Code Online (Sandbox Code Playgroud)
因为您不必使用varchar(11)或varchar(10)将来可能会产生问题。