我需要翻译 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
我收到错误
“传递给左侧或子字符串函数的长度参数无效”
有什么提示吗?