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

时间:2010-06-22 06:58:39

标签: datetime sybase date-format

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

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


输入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 个答案:

答案 0 :(得分:2)

您尝试过的样式参数是将datetime data转换为字符类型。在这里,你要求相反的转换。

输入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