datetime – 在Sybase中将String转换为Date格式时需要帮助

我试图将两种类型的字符串转换为日期格式,但无法执行其中任何一种.

具有预期输出的有问题的输入字符串如下:

输入1:20100614191522

预期产出1:6/14/2010 7:15:22 PM

输入2:2010/12

预期输出2:12/1/2010 12:00:00 AM

我试过,

select convert(datetime,'20100614191522',109) 

我尝试了不同的样式参数和“转换”功能.但我总是得到以下错误.
将VARCHAR值’20100614191522’显式转换为DATETIME字段时出现语法错误.
消息:249,等级:16,状态:1

你能帮我解决一下,如何实现同样的目标.

提前致谢.

最佳答案 您尝试过的样式参数用于将日期时间数据转换为字符类型.在这里,你要求相反的转换.

输入1

declare @str varchar(20)
set @str = '20100614191522'
select convert(datetime,substring(@str, 5, 2 ) + '/' + substring(@str, 7, 2 ) + '/' + substring(@str, 1, 4 )  + ' ' + substring(@str, 9, 2 )  + ':' + substring(@str, 11, 2 ) + ':' + substring(@str, 13, 2 ) )

Jun 14 2010  7:15PM

输入2

declare @str varchar(20)
set @str = '2010/12'
select convert(datetime, @str + '/01')

Dec  1 2010 12:00AM
点赞