Sql where子句中的oracle原始数据类型
我的数据库中有一个原始类型的列。我如何在where子句中使用它?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
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'))
- 从TBLTest01中选择*其中BINCOL=BINARY(x'f0f3')