Sybase SQL将字符串转换为DateTime帮助:
我将日期和时间以字符串格式存储在表格中('yyyymmddhhnnss')。我需要选择日期和时间格式。
例如: 字符串价值:'20141228092818' 预计将返回:'2014年12月28日09:28:18'
字符串值:'20141121132810' 预计将返回:'2014年11月21日01:28:10''
感谢帮助...
答案 0 :(得分:3)
您指定的输出格式与任何Sybase标准样式都不完全相同(请参阅Sybase documentation for the convert function)。
它非常接近109风格,只是日期和月份相反,并且当时没有前导零。要进行此转换,您需要将字符串转换为Sybase可以理解的格式,并且可以转换为日期时间(例如yyyymmdd hh:mm:ss),将其转换为日期时间,然后将其转换回字符串使用109风格。
示例:
create table #test (test varchar(255))
insert #test select '20141228092818'
insert #test select '20141121132810'
select
convert(varchar(255),
convert(datetime,
left(test, 8) + ' ' +
substring(test, 9, 2) + ':' +
substring(test, 11, 2) + ':' +
substring(test, 13, 2)
),
109)
from #test
输出:
Dec 28 2014 9:28:18:000AM
Nov 21 2014 1:28:10:000PM
答案 1 :(得分:0)
谢谢托比。它奏效了。
SELECT CONVERT(datetime,SUBSTRING(MyField, 5, 2 ) + '/' + SUBSTRING(MyField, 7, 2) + '/' + SUBSTRING(MyField, 1, 4 ) + ' ' + SUBSTRING(MyField, 9, 2 ) + ':' + SUBSTRING(MyField, 11, 2 ) + ':' + SUBSTRING(MyField, 13, 2 )) TransactDateTime
28/12/2014 09:28:18 AM
21/11/2014 01:28:10 PM