[英]Convert Query from SQL Server to Oracle
大家好,有人可以帮助我将此查询转换为适用于 Oracle 吗?
SELECT CONVERT(VARCHAR(10),
CAST(DATEADD(DAY,CONVERT(INT,
Convert(nvarchar(50),(ASCII(SUBSTRING(A1_USERLGI,12,1)) - 50))+Convert(nvarchar(50),(ASCII(SUBSTRING(A1_USERLGI,16,1)) - 50))),
'1996-01-01') AS DATETIME),103) FROM SA1010 where A1_USERLGI <> ' ';
此代码用于解码将用户从系统代码和更改日期中保存的 econded 字段。
只需进行一些更改,就可以将 Sql 置于 Oracle 风格中。
日期到字符串的 CONVERT 变为 TO_CHAR。
SUBSTRING 变为 SUBSTR。
+
变成||
或 CONCAT。
一个日期的 n 天 DATEADD 变为 date + n
ASCII 仍然是 ASCII。
CAST 适用于两者。
SELECT
TO_CHAR((CAST('01-JAN-1996' AS DATE) +
CAST(CONCAT((ASCII(SUBSTR(A1_USERLGI, 12, 1))-50),
(ASCII(SUBSTR(A1_USERLGI, 16, 1))-50)) AS NUMBER)), 'DD/MM/YYYY') AS dt
FROM SA1010 where A1_USERLGI <> ' ';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.