我有這種日期格式:2011-09-28 18:01:00(在varchar中),我想將它轉換爲datetime更改爲這種格式28-09-2011 18:01 :00。我該怎麼做?SQL Server將Varchar轉換爲日期時間
回答
SELECT CONVERT(Datetime, '2011-09-28 18:01:00', 120) -- to convert it to Datetime
SELECT CONVERT(VARCHAR(30), @date ,105) -- italian format [28-09-2011 18:01:00]
+ ' ' + SELECT CONVERT(VARCHAR(30), @date ,108) -- full date [with time/minutes/sec]
只記得datetime變量沒有格式。如果您希望以某種格式顯示,您必須將其轉換爲varchar。 – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 2012-04-20 15:09:37
datetime沒有格式,但你必須指定它如何重現文本(其中id是日/月......) – Zyku 2012-04-23 06:28:11
像這樣
DECLARE @date DATETIME
SET @date = '2011-09-28 18:01:00'
select convert(varchar, @date,105) + ' ' + convert(varchar, @date,108)
'我想將它轉換爲datetime更改爲這種格式28-09-2011 18:01:00。 - 你在哪裏使用新的格式? – MatBailie 2012-04-20 13:27:50
這可行,但不需要四個轉換器。查看迭戈的答案SELECT CONVERT(VARCHAR(30),GETDATE(),105) – daniloquio 2012-04-20 13:39:44
是的,Diego的答案需要將varchar(10)更改爲(30)。然後它會工作。 – daniloquio 2012-04-20 17:45:51
你可以這樣做,但它留下它作爲一個varchar
declare @s varchar(50)
set @s = '2011-09-28 18:01:00'
select convert(varchar, cast(@s as datetime), 105) + RIGHT(@s, 9)
或
select convert(varchar(20), @s, 105)
這離開了時間 – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 2012-04-20 13:32:58
@zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz你說得對,修正了它。 – Taryn 2012-04-20 13:36:01
如已經所述,日期時間沒有格式/字符串表示格式。
您可以使用某些格式更改字符串輸出。
將字符串轉換爲datetime:
declare @date nvarchar(25)
set @date = '2011-09-28 18:01:00'
-- To datetime datatype
SELECT CONVERT(datetime, @date)
給出:
-----------------------
2011-09-28 18:01:00.000
(1 row(s) affected)
將其轉換成字符串你想要的:
-- To VARCHAR of your desired format
SELECT CONVERT(VARCHAR(10), CONVERT(datetime, @date), 105) +' '+ CONVERT(VARCHAR(8), CONVERT(datetime, @date), 108)
給出:
-------------------
28-09-2011 18:01:00
(1 row(s) affected)
SELECT CONVERT(VARCHAR(10), GETDATE(), 105) + ' ' + CONVERT(VARCHAR(10), GETDATE(), 108)
你可以有各種不同的風格,以datetime conversion
:
http://www.w3schools.com/sql/func_convert.asp
這有值範圍: -
CONVERT(data_type(length),expression,style)
對於樣式值,
選擇你需要的人l我需要106.
所有現有的我的答案有一個特定的鏈接到幫助網站,以便即使是初學者可以參考。這就是如何更加有用
This web有一些很好的例子,任何的varchar轉換爲日期或日期時間
嘗試以下
select Convert(Varchar(50),yourcolumn,103) as Converted_Date from yourtbl
- 1. 將日期時間轉換爲Varchar
- 2. 轉換日期時間格式爲varchar在SQL Server
- 3. SQL Server 2008:Varchar到日期時間轉換
- 4. 如何將SQL Server 2008中的varchar時間轉換爲時間
- 5. SQL Server將日期時間轉換爲n期前
- 6. 將日期轉換爲varchar,然後將其轉換回日期
- 7. 在SQL Server中將varchar轉換爲日期
- 8. SQL Server查詢幫助...需要將varchar轉換爲日期
- 9. SQL Server - 在ALTER TABLE中將VarChar轉換爲日期
- 10. 如何將varchar轉換爲SQL Server中的可用日期?
- 11. 在SQL Server 2008日期時間varchar
- 12. 將XML日期時間轉換爲SQL日期時間
- 13. 轉換日期時間在SQL Server
- 14. SQL Server日期時間轉換
- 15. Sql Server日期時間轉換
- 16. SQL Server日期時間轉換失敗
- 17. 如何將帶時區的JSON日期轉換爲SQL Server日期時間?
- 18. 如何將Sql Server 2008 DateTimeOffset轉換爲日期時間
- 19. 無法將DateTime從SQL Server轉換爲C#日期時間
- 20. Microsoft SQL Server 2005將日期/時間轉換爲字符串
- 21. 將NSDate轉換爲Sql Server日期時間格式
- 22. 如何將datetimeoffset轉換爲SQL Server 2008中的日期時間?
- 23. T-SQL:將varchar日期列轉換爲日期類型
- 24. 轉換Teradata的時間戳(6),以日期時間爲SQL Server
- 25. SQL的Varchar轉換爲日期 - 的Sybase
- 26. SQL Server將數字轉換爲日期
- 27. 在SQL Server中將Varchar轉換爲時間
- 28. 將日期時間轉換爲時間
- 29. 如何將此varchar值轉換爲日期時間
- 30. SQL Server 2008將varchar轉換爲datetime
這RDBMS使用?因爲日期功能可能不同 – Hajo 2012-04-20 13:21:39
@Hajo:我認爲標題幾乎可以解釋它 – Quassnoi 2012-04-20 13:23:19
@Quassnoi它可能是微軟的SQL服務器,但我不是100%確定,許多RDBMS可以是一個SQL服務器; – Hajo 2012-04-20 13:25:19