使用ltrim和rtRim进行基因组合



嘿,我正在另一个项目转换的过程中,在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
     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(https://learn.microsoft.com/en-us/sql/sql/t-sql/functions/rtrim-transact-sql(不接受2个参数;它只能从字符串的末端修剪空格。

trim(https://learn.microsoft.com/en-us/sql/t-sql/functions/trim-transact-sql(,另一方面,可以给予其他字符以删除其他字符。但是,它将从两端删除字符,因此,如果您只想从字符串的末端删除它,则可能必须有些摆弄。

最新更新