将PL SQL代码转换为MSSQL

时间:2013-09-26 01:54:43

标签: sql-server datetime plsql

有人可以帮助我将以下PL SQL代码转换为它的MSSQL等价物吗?提前谢谢。

return to_date(l_date_time, 'rrrrdddhh24miss');

1 个答案:

答案 0 :(得分:0)

SQL Fiddle

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

<强> Results

|      COLUMN_0 |
|---------------|
| 2013005130203 |
| 1973247091011 |

另外,考虑到这一点:

“Microsoft SQL Server使用2049作为解释日期的截止年份; OLE自动化对象使用2030.您可以使用两位数年份截止选项在SQL Server和客户端应用程序之间提供日期值的一致性。但是,为了避免歧义使用日期,在数据中使用四位数年份。“

参见 two digit year cutoff Option