【发布时间】:2009-10-05 08:41:15
【问题描述】:
我正在使用 DBMS_SQL 包,它返回值“12345”作为列名的值。
如何将值中的撇号去掉,以便将其转换为数字?
【问题讨论】:
我正在使用 DBMS_SQL 包,它返回值“12345”作为列名的值。
如何将值中的撇号去掉,以便将其转换为数字?
【问题讨论】:
类似下面的内容应该修剪撇号:
substr(columnName, 2, length(columnName) - 2)
(顺便说一句,这是一个非常奇怪的数据库,其列名是整数,不是吗?)
【讨论】:
这将从值中删除前导和尾随撇号:
RTRIM(LTRIM(value,''''),'''')
或者如果您愿意:
RTRIM(LTRIM(value,chr(39)),chr(39))
【讨论】:
您可以使用“REPLACE”函数将字符串中的所有单引号替换为 NULL。
例如。 带引号: 从对偶中选择 'Hello,''World'''
引号已删除: select replace('Hello,''World''','''',NULL) from dual
但是,Oracle 中的列名不能以数字开头,因此 12345 作为列名无论如何都是无效的。
【讨论】: