我正在使用 DBMS_SQL 包,它返回值“12345”作为列名的值。
您如何从值中删除撇号,以便将其转换为数字?
像下面这样的东西应该修剪撇号:
substr(columnName, 2, length(columnName) - 2)
(顺便说一句,这是一个非常奇怪的数据库,其列名是整数,不是吗?)
这将从值中删除前导和尾随撇号:
RTRIM(LTRIM(value,''''),'''')
或者,如果您愿意:
RTRIM(LTRIM(value,chr(39)),chr(39))
您可以只使用“REPLACE”函数将字符串中的所有单引号替换为 NULL。
例如。带引号:从 dual 中选择 'Hello,''World'''
引号已删除: select replace('Hello,''World''','''',NULL) from dual
但是,Oracle 中的列名不能以数字开头,因此 12345 作为列名无论如何都是无效的。