簡體   English   中英

在SQL Server中將VARCHAR轉換為日期時間

[英]converting a varchar to datetime in sql server

我有一個varchar 20130909132512 ,我想將其轉換成一個日期2013-09-09

嘗試時我不斷收到錯誤消息

select convert(datetime,'20130909132512',105)

而且我試圖避免使用

select convert(datetime,SUBSTRING('20130909132512',0,8),105)

如果可能的話。 關於如何執行此操作的任何想法?

您可以使用STUFF將varchar轉換為20130909 13:25:12

Declare @a Varchar(20)
Select @a = '20130909132512'
select convert(datetime,
              STUFF(STUFF(STUFF(@a,13,0,':'),11,0,':'),9,0,' ')
              ,105)

無論您使用bummi的STUFF方法還是繼續使用SUBSTRING ,無論您做什么,都必須預先格式化字符串。

在這種情況下, SUBSTRING執行速度會更快

SELECT CONVERT(date, SUBSTRING('20130909132512', 0, 9), 20)

但是,如果您希望日期格式為2013-09-09,則需要使用“ 20”作為轉換樣式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM