時間保存爲varchar(8)格式,例如:09241324,我想將其轉換爲時間格式。我可以擺脫最後nn
所以hh:mm:ss
會工作。我嘗試使用投/轉換,但它是拋出錯誤:SQL-將varchar(8)轉換爲時間格式
Conversion failed when converting date and/or time from character string.
任何人都可以請幫助我嗎?
時間保存爲varchar(8)格式,例如:09241324,我想將其轉換爲時間格式。我可以擺脫最後nn
所以hh:mm:ss
會工作。我嘗試使用投/轉換,但它是拋出錯誤:SQL-將varchar(8)轉換爲時間格式
Conversion failed when converting date and/or time from character string.
任何人都可以請幫助我嗎?
插入時間格式化件(冒號:和小數),和CAST爲TIME:
DECLARE @string VARCHAR(10)
SET @string = '09241324'
SELECT CAST(
SUBSTRING(@string,1,2) + ':' +
SUBSTRING(@string,3,2) + ':' +
SUBSTRING(@string,5,2) + '.' +
SUBSTRING(@string,7,2) AS TIME)
將這項工作?
convert(time, stuff(stuff(stuff(dt, 3, 0, ':'), 6, 0, ':'), 9, 0, '.'))
cast
通常優於convert
但是從我的頭頂,我不知道你是否會需要到指定格式的代碼。
沒有毫秒是相似的:
convert(time, stuff(stuff(stuff(dt, 3, 0, ':'), 6, 0, ':'), 9, 2, '.00'))
什麼是你的RDBMS?時間/日期功能在實現中有所不同。 –
這是sql server 2008 R2 –
如果可能,應該更改表的數據類型並將時間信息存儲在time數據類型中。以字符形式存儲這些東西是一場噩夢。 –