1

我需要翻译 Oracle SQL 代码

select URL, TO_NUMBER(NVL( substr(URL,INSTR(URL,'pageId=') + 7, INSTR(URL,'&')- (INSTR(URL,'pageId=') + 7) )  , substr(URL,INSTR(URL,'pageId=') + 7) )) PageId
            from remotelink
           WHERE INSTR(URL,'pageId')>0;

到 T-SQL (MS SQL-Server 2012)

我翻译的代码如下所示:

select URL, CAST(ISNULL( substring(URL,CHARINDEX('pageId=', URL) + 7, CHARINDEX('&', URL)- (CHARINDEX('pageId=', URL) + 7) )  , substring(URL,CHARINDEX('pageId=', URL) + 7, datalength(URL)) )AS numeric) PageId
            from JIRA_TEST.jiraschema.remotelink
           WHERE CHARINDEX('pageId', URL) >0

我收到错误

“传递给左侧或子字符串函数的长度参数无效”

有什么提示吗?

4

0 回答 0