如何转换为nvarchar(包括时间)到日期时间
我有数据20160526094432,我想转换成日期时间在SQLServer的 其结果将是2016年5月26日9时44分32秒如何转换为nvarchar(包括时间)到日期时间
有没有简单的方法要做到这一点 ?
谢谢
如果您使用MS SQL Server 2012或更新的版本,那么您可以享受format
函数。
select cast(format(20160526094432,'####-##-## ##:##:##') as datetime) [date-time]
如果你的长号码是一个字符串,那么你必须将其转换。
declare @d varchar(20)='20160526094432'
select cast(format(cast(@d as bigint),'####-##-## ##:##:##') as datetime) [date-time]
我正在使用SQLServer 2014,我想更新我的表格。 更新copy_vw_work_in_progress_so_list 将picking_datetime = CAST(FORMAT([picking_date],'#### - ## - ## ##:##:##')设置为datetime)。 和错误消息8116,级别16,状态1,行9 参数数据类型nvarchar对格式化函数的参数1无效。 – Henry
查看我的更新。 '... CAST(FORMAT(cast([picking_date] as bigint),'#### ### ### ##:##')as datetime)...' –
嗯。我不认为这是一个真正干净方式,但这样的事情应该工作:
select (convert(datetime, left(col, 8) as datetime) +
convert(datetime, convert(time,
stuff(stuff(right(col, 6), 5, 0, ':'), 3, 0, ':')
)
)
)
也许你可以用这种方式尝试,例如日期是你的表的列,103是格式你想转换的日期,谷歌的更多细节。
CONVERT(datetime, Date, 103)
我已经试过但是得到错误 从字符串转换日期和/或时间时转换失败。 – Henry
通过方便知道您正在使用 –
可能复制数据库的名称[转换为varchar到日期时间在SQL Server](http://*.com/questions/1509977/convert-varchar-into- datetime-in-sql-server) – Spiderman