在SQL中格式化日期?
我希望我的日期为YYYY-MM-DD(DD-MM-YYYY),我似乎无法转换为此表单。我已经看过了 作为一个一般性的问题,我可以根据我的需要格式化日期,比如DD-MM(YEAR)等。你可以在MYSQL中轻松地做到这一点在SQL中格式化日期?,sql,sql-server-2005,datetime,formatting,Sql,Sql Server 2005,Datetime,Formatting,我希望我的日期为YYYY-MM-DD(DD-MM-YYYY),我似乎无法转换为此表单。我已经看过了 作为一个一般性的问题,我可以根据我的需要格式化日期,比如DD-MM(YEAR)等。你可以在MYSQL中轻松地做到这一点 SELECT GETDATE() // start with this query 要获取没有时间的日期,请执行以下操作: --char(10) limits the length to 10 characters thereby removing the time stamp
SELECT GETDATE() // start with this query
要获取没有时间的日期,请执行以下操作:
--char(10) limits the length to 10 characters thereby removing the time stamp
SELECT CONVERT(char(10), GetDate(),126) -- Output: 2011-11-07
要获取带有时间戳的日期,请执行以下操作:
SELECT CONVERT(VARCHAR, GetDate(), 126) --Output: 2011-11-07T13:42:25.913
有关所有可能的格式,请参阅。要获取不带时间的日期,请执行以下操作:
--char(10) limits the length to 10 characters thereby removing the time stamp
SELECT CONVERT(char(10), GetDate(),126) -- Output: 2011-11-07
要获取带有时间戳的日期,请执行以下操作:
SELECT CONVERT(VARCHAR, GetDate(), 126) --Output: 2011-11-07T13:42:25.913
有关所有可能的格式,请参阅。尝试格式化
120
:
SELECT CONVERT(VARCHAR, GETDATE(), 120) -- result: 2011-11-07 13:48:45
如果要截断此值,以便只返回日期部分,请在VARCHAR
转换上指定大小约束:
SELECT CONVERT(VARCHAR(10), GETDATE(), 120) -- result: 2011-11-07
尝试格式化
120
:
SELECT CONVERT(VARCHAR, GETDATE(), 120) -- result: 2011-11-07 13:48:45
如果要截断此值,以便只返回日期部分,请在VARCHAR
转换上指定大小约束:
SELECT CONVERT(VARCHAR(10), GETDATE(), 120) -- result: 2011-11-07
这肯定不是最快的选择,但它符合您的要求,并且在将来可能对其他人有用
DECLARE @date DATETIME
SET @date = GETDATE()
SELECT CAST(DATEPART(YYYY, @date) AS NVARCHAR(4)) + '-'
+ CAST(DATEPART(MM, @date) AS NVARCHAR(2)) + '-'
+ CAST(DATEPART(DD, @date) AS NVARCHAR(2)) + ' ('
+ CAST(DATEPART(DD, @date) AS NVARCHAR(2)) + '-'
+ CAST(DATEPART(MM, @date) AS NVARCHAR(2)) + '-'
+ CAST(DATEPART(YYYY, @date) AS NVARCHAR(4)) + ')'
它输出:
2011-11-7 (7-11-2011)
这肯定不是最快的选择,但它符合您的要求,并且在将来可能对其他人有用
DECLARE @date DATETIME
SET @date = GETDATE()
SELECT CAST(DATEPART(YYYY, @date) AS NVARCHAR(4)) + '-'
+ CAST(DATEPART(MM, @date) AS NVARCHAR(2)) + '-'
+ CAST(DATEPART(DD, @date) AS NVARCHAR(2)) + ' ('
+ CAST(DATEPART(DD, @date) AS NVARCHAR(2)) + '-'
+ CAST(DATEPART(MM, @date) AS NVARCHAR(2)) + '-'
+ CAST(DATEPART(YYYY, @date) AS NVARCHAR(4)) + ')'
它输出:
2011-11-7 (7-11-2011)
顺便说一句,我可以根据我的需要格式化它,比如DD-MM(YYYY),现在我得到了它的逻辑,使用varchar(10),其余的数据被忽略。有人应该解释:)顺便说一句,我可以根据我的需要格式化它,比如DD-MM(YYYY),现在我得到了它的逻辑,使用varchar(10),其余的数据被忽略。应该有人解释:)作为一般答案,不要在SQL中设置格式,在前端、报表编写器等中设置格式。作为一般答案,不要在SQL中设置格式,在前端、报表编写器等中设置格式。