如何更改日期格式

时间:2011-12-26 08:11:45

标签: sql sql-server tsql sql-server-2000 datetime-format

表:

Dates (nvarchar)
==
23/02/2009 (dd/mm/yyyy)
24/02/2009
25/08/2009
28/12/2011
....

我想更改这样的日期格式(yyyymmdd)

尝试查询

select cast(dates as datetime) from table1

显示错误

ЮArithemetic表达式溢出

select Convert(char(10), dates, 112) from table1

显示相同的值23/02/2009

以上查询无效。

预期产出

20090232
20090224
20090825
20111228
...

如何进行查询?

4 个答案:

答案 0 :(得分:4)

Use this article.

select CONVERT(varchar(8),CONVERT(datetime, '23/02/2009',103),112)

答案 1 :(得分:1)

由于它们存储为字符串数据,因此您可以使用字符串函数来提供您想要的内容。

首先给你一个有效的日期

select 
    cast(SUBSTRING(dates,4,2) + '/' + left(dates,2) + '/' + right(dates,4) as datetime) NowItsADateTime
from DateTable

第二,你要的是什么。

select right(dates,4) + SUBSTRING(dates,4,2) + left(dates,2) as YYYYMMDD
from DateTable

答案 2 :(得分:1)

尝试这个简单的查询:

SELECT DATEPART(yyyy,dates)+DATEPART(m,dates)+DATEPART(d,dates) FROM table1

您可以在此链接上获得更多信息: sql-server-dates

答案 3 :(得分:1)

select convert(varchar, getdate(), 102)[Dates] from tablename

请看这个链接:http://www.technoreader.com/SQL-Server-Date-Time-Format.aspx