我有一个表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