我正在尝试将以下Informatica代码转换为等效的SQL脚本。我有点卡住了,因为我不熟悉Informatica,希望能得到任何帮助。
原始informatica代码如下:
LTRIM(RTRIM(SUBSTR(COV_REINS_CONCAT_BK,11, INSTR(COV_REINS_CONCAT_BK, '|',1,3)-INSTR(COV_REINS_CONCAT_BK, '|',1,2)-1 ))) || 'C' 发布于 2016-03-13 00:45:13
select LTRIM(RTRIM(SUBSTR(COV_REINS_CONCAT_BK,11,INSTR(COV_REINS_CONCAT_BK,'|',1,3)
-INSTR(COV_REINS_CONCAT_BK,'|',1,2)-1 )))||'C' from TABLE;上面的脚本在Oracle中可以正常工作。请将table替换为您的表名。
发布于 2020-01-25 05:43:33
SUBSTR()和instr()函数来自Informatica转换语言。它的根来自Oracle的函数名和MSSQL / Sybase函数名。这就是为什么它不能直接翻译成任何一个,而是相似的原因。这些功能在联机帮助中有很好的说明。您需要检查INSTR()函数中的开关是否区分大小写等,以确保可以在另一个工具中正确地写入它们的并行值。数字可以转换成不同的东西,在一些Informatica函数中,可以省略结束参数,例如,在SUBSTR()函数中,这意味着SUBSTR()将从编号位置到字符串的末尾生效,而不管长度如何。在Informatica中键入端口也会影响结果,尽管在这种情况下,组合函数将在最后执行修剪。
发布于 2015-10-27 07:02:12
SUBSTR()和INSTR()函数不是MS SQL Server函数。我猜代码片段是Oracle的PL/SQL。尝试http://www.dba-oracle.com/oracle_news/2005_12_16_sql_syntax_differences.htm等资源
https://stackoverflow.com/questions/33356337
复制相似问题