将日期转换为数字

时间:2016-06-19 09:57:00

标签: sql-server-2008

如何转换日期为2014年1月1日12:00 AM'到20140101?

当月份小于10时我需要把零。

我尝试使用datepart但是在添加' 0'在它之前。

感谢' S

2 个答案:

答案 0 :(得分:1)

SELECT YEAR(DateField) * 10000 + MONTH(DateField) * 100 + DAY(DateField)

将其转换为整数。或

SELECT convert(char(8), DateField, 112)

将其转换为yyyymmdd字符串。

答案 1 :(得分:1)

如果您的日期当前是字符串,则需要先将其转换为真实日期时间值:

SELECT CONVERT(datetime, 'Jan 1 2014 12:00AM')

mon dd yyyy hh:miAM (or PM)是日期时间转换的SQL Server默认格式,因此这里不需要格式说明符。)

如果已经是日期时间,您只需使用代表YYYYMMDD的{​​{3}}:

SELECT CONVERT(nvarchar(8), myDateTimeField, 112)

(根据需要嵌套两个语句或将字符串结果转换为数字数据类型留给读者练习。)