有人可以帮我将以下 PL SQL 代码转换成它的 MSSQL 等价物吗?提前致谢。
return to_date(l_date_time, 'rrrrdddhh24miss');
有人可以帮我将以下 PL SQL 代码转换成它的 MSSQL 等价物吗?提前致谢。
return to_date(l_date_time, 'rrrrdddhh24miss');
MS SQL Server 2012 架构设置:
CREATE TABLE Table1
([l_date_time] varchar(25))
;
INSERT INTO Table1
([l_date_time])
VALUES
('1-5-13 1:02:03 PM'),
('9-4-73 9:10:11 AM')
;
查询 1:
select convert(varchar(4), datepart(yyyy,l_date_time)) +
right('00' + convert(varchar(3), datepart(dy,l_date_time)),3) +
right('0' + convert(varchar(2), datepart(hh,l_date_time)),2) +
right('0' + convert(varchar(2), datepart(mi,l_date_time)),2) +
right('0' + convert(varchar(2), datepart(ss,l_date_time)),2)
from Table1
结果:
| COLUMN_0 |
|---------------|
| 2013005130203 |
| 1973247091011 |
另外,请考虑到这一点:
“Microsoft SQL Server 使用 2049 作为解释日期的截止年份;OLE 自动化对象使用 2030。您可以使用两位数年份截止选项来提供 SQL Server 和客户端应用程序之间日期值的一致性。但是,为了避免日期的歧义,在您的数据中使用四位数年份。”
请参阅两位数年份截止选项