sql - 测试函数的多个值

标签 sql database oracle plsql

我正在尝试测试一个函数(在本例中 - regexp_replace(tvalue,'([[:cntrl:]])',''))并且想知道是否有办法通过多个输入数据到一个 SQL 查询中的函数?

基本上我想看到一个函数正在替换不可打印的字符,我的想法如下所示:

我的伪代码:

with testdata as (select 
'teststring1',
'$kfjs',
chr(10)||'test',
'    <>',
null,
'[{}&,''/\'
from dual)
select tvalue, regexp_replace(tvalue,'([[:cntrl:]])','')  from testdata
where tvalue <> regexp_replace(tvalue,'([[:cntrl:]])','');

最佳答案

with testdata as (
  select 'teststring1' as tvalue from dual
  union all
  select '$kfjs' from dual
  union all
  select 'str1' || chr(10) || 'str2' from dual
  union all
  select '    <>' from dual
  union all
  select null from dual
  union all
  select '[{}&,''/' from dual
)
select rownum, tvalue, regexp_replace(tvalue, '([[:cntrl:]])', '') from testdata
where tvalue <> regexp_replace(tvalue, '([[:cntrl:]])', '');

关于sql - 测试函数的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7647133/

相关文章:

sql - 将带有图像的 Excel 数据导入 SQL Server

mysql - 更改表以添加外键

database - 在应用程序和数据库之间创建连接意味着什么?

oracle - Pandas 和 SQL 炼金术 : Specify Column Data Types

mysql - mySql 查询中的 If 语句

php - SQL获取第一个ID的方法

database - SqlCeConnection 实例耗时过长

SQL 查询日期 = 今天减去 7 天

sql - 从单个表 oracle 中查找分层或父子列值

sql - Toad for Oracle 如何一次性导出数据? (无需先运行它来显示数据)