[英]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.