Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql where子句中的oracle原始数据类型_Sql_Oracle - Fatal编程技术网

Sql where子句中的oracle原始数据类型

Sql where子句中的oracle原始数据类型,sql,oracle,Sql,Oracle,我的数据库中有一个原始类型的列。我如何在where子句中使用它? i、 e仅获取第三个字节等于4的值。 这不起作用: SELECT v from T where v[3]=4 使用包的功能与RAW交互,例如: SQL> create table test (a raw(16)); Table created SQL> insert into test values ('FF00FF00FF'); 1 row inserted SQL> select * from te

我的数据库中有一个原始类型的列。我如何在where子句中使用它?
i、 e仅获取第三个字节等于4的值。
这不起作用:

SELECT v from T where v[3]=4
使用包的功能与RAW交互,例如:

SQL> create table test (a raw(16));

Table created

SQL> insert into test values ('FF00FF00FF');

1 row inserted

SQL> select * from test where utl_raw.substr(a, 3, 1) = 'FF';

A
--------------------------------
FF00FF00FF

还可以使用类似REGEXP_的函数选择具有原始数据类型的行:

select * from test where REGEXP_LIKE(a,'^....04.*')";

在我的用例中,此方法比Oracle中的utl_raw.substr快一点: 你可以使用这个函数

  • 从TBLTest01中选择*,其中(BINCOL=hextoraw('f0f3f3'))
它以另一种方式存在于其他数据库中。例如,在DB2中:

  • 从TBLTest01中选择*其中BINCOL=BINARY(x'f0f3')

UTL_上面的原始链接给出了404。以下链接在今天仍然有效: