oracle - PL/SQL - 删除 VARCHAR2 中的字符

标签 oracle plsql varchar2

(我的英语很抱歉...)我想知道是否可以删除 varchar2 中的字符:

FOR FF IN REQ LOOP
IF FF.COLUMN_NAME = ANCIEN THEN
  ORDRE_DYN := ORDRE_DYN || ANCIEN;
ELSE 
  ORDRE_DYN := ORDRE_DYN || FF.COLUMN_NAME;
END IF;

ORDRE_DYN := ORDRE_DYN || ' ' || FF.DATA_TYPE || '(' || FF.DATA_LENGTH;

IF FF.DATA_PRECISION IS NULL THEN
  ORDRE_DYN := ORDRE_DYN || ', ' || FF.DATA_PRECISION || '),';
END IF;
END LOOP;

在最后一次迭代中,有一个逗号我想删除,可以吗?我知道我可以做一个 while 循环,但我仍然想保留 for。

谢谢

最佳答案

循环完成后,您可以 RTRIM 去掉逗号:

END LOOP;

ORDRE_DYN := RTRIM(ORDRE_DYN, ',');

如果字符串末尾不存在逗号,则不会对该字符串进行任何更改。

Oracle 11gR2 RTRIM documentation.

关于oracle - PL/SQL - 删除 VARCHAR2 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8067634/

相关文章:

database - Oracle 中数字的可变大小数据类型

python - 使用 SQLALCHEMY 设置 Oracle VARCHAR2 长度 i 字节

oracle - 收集记录到 sys_refcursor

database - 将自动增量标识添加到 oracle 中的现有表中,该表不为空

sql - 仅从 varchar 字段中选择单词的第一个字母

database - Oracle 数据库对象 - 最后的 DDL 与 TIMESTAMP

sql - 在列中查找第一个缺少的日期(Oracle)

sql - 取消 SQL *PLUS 执行而不引发错误

sql - 我写了一个触发器,但不起作用。我错过了什么吗?

oracle 将 DD-MON-YY 转换为 DD/MM/YYYY