我有一個表tblTest
其中有一個字段叫e_date
,它有一個類型DateTime
。格式化日期時間字段
我想知道是否有一種方法可以讓我在SQL中進行格式化,以便此字段僅在運行存儲過程時顯示'd mmm yyyy'
中的日期。
上的SQL Server 2008 R2
我發現要做到這一點,其顯示的日期,我會請一個方法,但是當我嘗試和改變格式,以便只顯示日期,與相關的數據它不顯示。
CONVERT(VARCHAR(9),[Date_ex],6)AS ExamDates,
我有一個表tblTest
其中有一個字段叫e_date
,它有一個類型DateTime
。格式化日期時間字段
我想知道是否有一種方法可以讓我在SQL中進行格式化,以便此字段僅在運行存儲過程時顯示'd mmm yyyy'
中的日期。
上的SQL Server 2008 R2
我發現要做到這一點,其顯示的日期,我會請一個方法,但是當我嘗試和改變格式,以便只顯示日期,與相關的數據它不顯示。
CONVERT(VARCHAR(9),[Date_ex],6)AS ExamDates,
查找一個DATE_FORMAT功能。在MySQL中它會是這樣的:
//Syntax
DATE_FORMAT({date},{format})
//Example
DATE_FORMAT("2012-04-27",'%d/%m/%Y')
更多信息here
看看皮納爾戴維的這篇文章中的功能。 http://blog.sqlauthority.com/2008/08/14/sql-server-get-date-time-in-any-format-udf-user-defined-functions/
對於intance,您可以創建功能後,您可以通過以下
select [dbo].[ufsFormat] (getdate(),'mm/dd/yy')
這是MS SQL雖然調用它。你沒有提到你使用的是什麼RDBMS。
根據你的歷史假設MSSQL;對於SQL Server 2012,只需使用FORMAT()
否則,它有點費勁地丟掉前導零;
select
substring(case when day(e_date) < 10 then '' else '?' end + convert(char(11), e_date, 106), 2, 32)
您使用的是什麼RDBMS? – Mureinik
我正在使用的RDBMS是SQL Server 2008 R2 – user3086751