【发布时间】:2020-11-03 01:15:37
【问题描述】:
我正在尝试获取作为过程输入的 varchar2 并对其进行格式化,然后使用新字符串进行一些计算。输入将是一系列以逗号分隔的名称:
示例:姓名、身份证、地址
我需要找到一种方法将以上内容更改为:
CAST(name AS VARCHAR2(200)) name,
CAST(id AS VARCHAR2(200)) id,
CAST(address AS VARCHAR2(200)) address
我尝试查看REGEXP_REPLACE,但我是初学者,所以我不知道如何正确使用正则表达式。
(顺便说一下,这是针对 Oracle SQL 的)
【问题讨论】:
-
对为什么您的存储过程不只接受名称、ID 和地址的参数感到困惑
-
我应该有一个列名列表作为输入,其中可以有 1 个或多个逗号分隔的名称。所以我不知道我在执行时得到了多少个名字。抱歉,如果问题中没有明确说明。
-
您将在过程中使用 PLSQL 遍历输入字符串。寻找分隔符 - 在你的情况下逗号',',然后将其间的位转换为变量。
-
@DariaDavaloo '如何以不同的方式格式化该字符串。'您能否向我们展示一些您想要得到的结果的示例?只有几对:输入 - 要求的结果