日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oracle转义字符

發(fā)布時(shí)間:2024/8/26 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle转义字符 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SQL> select * from test;

TEST
--------------------
sdd_kk
d'd
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B

已選擇9行。

??????? 其中包含特殊的字符分別為%,_,&,有可能包含這些字符的數(shù)據(jù)含有錯(cuò)誤,或者需要查找包含這些字符的數(shù)據(jù)。


SQL> select * from test where test like 'sdd _%' escape ' ';

TEST
--------------------
sdd_kk

??????? 轉(zhuǎn)義字符為' ';

SQL> select * from test where test like 'sdd\_%' escape '\';

TEST
--------------------
sdd_kk

轉(zhuǎn)義字符為'\';


SQL> select * from test where test like 'sdd=_%' escape '=';

TEST
--------------------
sdd_kk

??????? 轉(zhuǎn)義字符為'=';

SQL> select * from test where test like 'sdd/_%' escape '/';

TEST
--------------------
sdd_kk

????????? 轉(zhuǎn)義字符為'/';

SQL> select * from test where test like 'sddd_%' escape 'd';

未選定行

??????? 轉(zhuǎn)義字符為d,沒(méi)有實(shí)現(xiàn)轉(zhuǎn)義功能;

SQL> select * from test where test like '%\_%' escape '\';

TEST
--------------------
sdd_kk

??????? 查找包含所有'_'的字段。

??????? 同理:通過(guò)這種方法查找含有'%'的所有字段:

SQL> select * from test where test like '%\%%' escape '\';

TEST
--------------------
dffa%asfs
1%2345
1%54321
2%54321
%%54321

??????? 但是'&'不能通過(guò)轉(zhuǎn)義字符查找:

SQL> select * from test where test like '%\&%' escape'\';
select * from test where test like '%\&%' escape'\'
?????????????????????????????????? *
第 1 行出現(xiàn)錯(cuò)誤:
ORA-01424: 轉(zhuǎn)義符之后字符缺失或非法

??????? 可以通過(guò)另外的方式進(jìn)行轉(zhuǎn)義:

SQL> select ascii('&') from dual;

ASCII('&')
----------
??????? 38

SQL> select * from test where test like '%'||chr(38)||'%';

TEST
--------------------
A&B

???????????'''的轉(zhuǎn)義:

SQL> select * from test where test like '%''%';

TEST
--------------------
d'd

特殊符號(hào)的數(shù)據(jù)的插入

SQL> insert into test values('test&test');
輸入 test 的值: test
原值??? 1: insert into test values('test&test')
新值??? 1: insert into test values('testtest')????????? -雖然插入,但是數(shù)據(jù)不對(duì)。

已創(chuàng)建 1 行。

SQL> show define
define "&" (hex 26)
SQL> set define off
SQL> show define
define OFF
SQL> insert into test values('test&test');

已創(chuàng)建 1 行。

SQL> show escape
escape OFF
SQL> set escape on
SQL> show escape
escape "\" (hex 5c)
SQL> insert into test values('test\&test');

已創(chuàng)建 1 行。

SQL> select * from test;

TEST
--------------------
sdd_kk
d'd
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B
testtest

TEST
--------------------
test&test
test&test

已選擇13行。

SQL> commit;

提交完成。

SQL> select * from test;

TEST
--------------------
sdd_kk
d'd
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B
testtest

TEST
--------------------
test&test
test&test

已選擇13行。

SQL> insert into test values('test\%test');

已創(chuàng)建 1 行。

SQL> insert into test values('test\_test');

已創(chuàng)建 1 行。

SQL> insert into test values('test\'test);
insert into test values('test'test)
????????????????????????????? *
第 1 行出現(xiàn)錯(cuò)誤:
ORA-00917: 缺失逗號(hào)


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

已創(chuàng)建 1 行。

SQL> select * from test;

TEST
--------------------
sdd_kk
d'd
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B
testtest

TEST
--------------------
test&test
test&test
test%test
test_test
test'test

已選擇16行。

? 體驗(yàn)新版博客 分享到搜狐微博

總結(jié)

以上是生活随笔為你收集整理的oracle转义字符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。