String Sybase SQL:将字符串转换为日期和时间

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 SQL将字符串转换为日期时间帮助:

我将日期和时间以字符串格式(“YYYYMMDDHNNSS”)存储在表中。我需要选择他们的日期和时间格式

例如: 字符串值:“20141228092818” 预计返回:“2014年12月28日上午09:28:18”

字符串值:“20141121132810” 预计返回:“2014年11月21日下午01:28:10”


感谢您的帮助。

您指定的输出格式与任何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