Function 在子串组合中使用ltrim和rtrim
嘿,我正在进行另一个项目转换,有一行是用Oracle SQL编写的,我正在尝试将其转换为MS SQL: Oracle PL/SQL:Function 在子串组合中使用ltrim和rtrim,function,arguments,substring,Function,Arguments,Substring,嘿,我正在进行另一个项目转换,有一行是用Oracle SQL编写的,我正在尝试将其转换为MS SQL: Oracle PL/SQL: IF LTRIM(sCmtStr) IS NOT NULL THEN sTrimStr := ' '||SUBSTR(RTRIM(LTRIM(sCmtStr),'; '),1,999); ELSE sTrimStr := NULL; MS T-SQL: IF ltrim(@sCmtStr) IS NOT NULL
IF LTRIM(sCmtStr) IS NOT NULL THEN
sTrimStr := ' '||SUBSTR(RTRIM(LTRIM(sCmtStr),'; '),1,999);
ELSE
sTrimStr := NULL;
MS T-SQL:
IF ltrim(@sCmtStr) IS NOT NULL
SET @sTrimStr = ' ' + ISNULL(substring(rtrim(ltrim(@sCmtStr), '; '), 1, 999), '')
ELSE
SET @sTrimStr = NULL
我得到以下错误:
Msg 174, Level 15, State 1, Procedure TRIMCOMMENT, Line 12
The rtrim function requires 1 argument(s).
有什么想法吗?谢谢。RTRIM()不接受2个参数;它只能从字符串的末尾修剪空格
另一方面,TRIM()可以指定其他要删除的字符。但是,它将从字符串的两端删除字符,因此如果您只想从字符串的末尾删除字符,则可能需要进行一些修改。错误相当明显。rtrim接受1个参数。你给了它两个。