String Sybase SQL:将字符串转换为日期和时间
Sybase SQL将字符串转换为日期时间帮助: 我将日期和时间以字符串格式(“YYYYMMDDHNNSS”)存储在表中。我需要选择他们的日期和时间格式 例如: 字符串值:“20141228092818” 预计返回:“2014年12月28日上午09:28:18” 字符串值:“20141121132810” 预计返回:“2014年11月21日下午01:28:10”String Sybase SQL:将字符串转换为日期和时间,string,datetime,sybase,String,Datetime,Sybase,Sybase SQL将字符串转换为日期时间帮助: 我将日期和时间以字符串格式(“YYYYMMDDHNNSS”)存储在表中。我需要选择他们的日期和时间格式 例如: 字符串值:“20141228092818” 预计返回:“2014年12月28日上午09:28:18” 字符串值:“20141121132810” 预计返回:“2014年11月21日下午01:28:10” 感谢您的帮助。您指定的输出格式与任何Sybase标准样式都不完全相同(请参阅Sybase) 它非常接近109样式,只是日期和月份颠倒,
感谢您的帮助。您指定的输出格式与任何Sybase标准样式都不完全相同(请参阅Sybase) 它非常接近109样式,只是日期和月份颠倒,时间上没有前导零。要进行此转换,您需要将字符串转换为Sybase能够理解的格式,并且可以转换为datetime(例如yyyymmdd hh:mm:ss),将其转换为datetime,然后使用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
谢谢托比。成功了
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
2014年12月28日09:28:18上午
2014年11月21日下午1:28:10