REVERSE關鍵字之REVERSE函式
昨天說到@dbsnake講的一個reverse函式索引避免全表掃描的案例,REVERSE關鍵字可以用於函式和索引。REVERSE函式和REVERSE索引。這次先試試REVERSE函式。
REVERSE函式:針對資料庫內部儲存的物件編碼進行反轉。
REVERSE is an undocumented Oracle string function, which returns the input string in its reverse order.
SQL> select reverse('12345') from dual;
REVER
-----
54321
REVERSE函式是將數字的順序逆序列印。
SQL> select reverse('Oracle') from dual;
REVERS
------
elcarO
也可以將字母的順序逆序列印。
SQL> select reverse('測試') from dual;
REVE
----
????
列印出亂碼,可能是字符集的問題,當前使用的是SSH方式登入伺服器後sqlplus,
SQL> show parameter nls_lang
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_language string AMERICAN
登入到筆記本的PLSQL中,由於OS是中文字符集,所以這裡應該可以顯示中文。
SQL> SELECT '測試' FROM dual;
'測試'
------
測試
SQL> select reverse('測試') from dual;
REVERSE('測試')
---------------
允獠
已經是亂碼了。
======================================================================
下面使用dump看看實際執行reverse的情況。
SQL> select dump('12345'), dump(reverse('12345')) from dual;
DUMP('12345') DUMP(REVERSE('12345'))
---------------------------- ----------------------------
Typ=96 Len=5: 49,50,51,52,53 Typ=96 Len=5: 53,52,51,50,49
將'12345'的ASCII字碼按逆序排列列印。
SQL> select dump('Oracle'), dump(reverse('Oracle')) from dual;
DUMP('ORACLE') DUMP(REVERSE('ORACLE'))
---------------------------------- ----------------------------------
Typ=96 Len=6: 79,114,97,99,108,101 Typ=96 Len=6: 101,108,99,97,114,79
將'Oracle'的ASCII字碼按逆序排列列印。
SQL> select dump('測試'), dump(reverse('測試')) from dual;
DUMP('測試') DUMP(REVERSE('測試'))
----------------------------- -----------------------------
Typ=96 Len=4: 178,226,202,212 Typ=96 Len=4: 212,202,226,178
這裡也是將‘測試’的ASCII字碼按逆序排列列印,但因為中文字元是由兩個ASCII組成的,當逆序時,新組合的ASCII兩兩形成一個新的漢字,212,202是允,226,178獠。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7192724/viewspace-773321/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript reverse()JavaScript
- kotlin之plus、copyOf、reverse、forEach、filter、map、reduce、fold等函式解釋和使用KotlinFilter函式
- Reverse Vowels of a String
- BUUCTF reverse 3
- 1074 reverse list
- 23.【Reverse】
- Leetcode 7 Reverse IntegerLeetCode
- Reverse Card (Hard Version)
- hackme 【攻防世界】Reverse
- Hgame2023 ReverseGAM
- Reverse 攻防世界合集
- 函式的關鍵字引數函式
- 字串 reverse(str.begin(),str.end()) 函式的標頭檔案 以及 str.clear()函式字串函式
- Reverse學習筆記筆記
- Leetcode 151 Reverse Words in a StringLeetCode
- leetcode 344. Reverse StringLeetCode
- 4. render, redirect, HttpResponse, reverseHTTP
- XCTF-Reverse:open-source
- Leetcode 206. Reverse Linked ListLeetCode
- 92. Reverse Linked List II
- UNCTF2021-reverse-部分wpTF2
- 精讀《ObjectEntries, Shift, Reverse...》Object
- [20210908]Reverse Shell with Bash.txt
- LeetCode 之 JavaScript 解答第150題 —— 逆波蘭表示式求值(Evaluate Reverse Polish Notation)LeetCodeJavaScript
- Leetcode 25 Reverse Nodes in k-GroupLeetCode
- 攻防世界 Replace Reverse二星題
- D2. Reverse Card (Hard Version)
- for 迴圈中倒序 用reverse
- LeetCode Reverse Integer(007)解法總結LeetCode
- python-reverse順序反轉Python
- 2021強網杯Reverse-LongTimeAgoGo
- LeetCode - Easy - 206. Reverse Linked ListLeetCode
- javascript 函式作用域中的關鍵字this的指向JavaScript函式
- php生成器函式與yield關鍵字PHP函式
- ?Java8新特性之Lambda表示式,函式式介面,方法引用和default關鍵字Java函式
- 踩坑:array_reverse 轉換改變了數值鍵問題
- MogDB/openGauss的三種函式穩定性關鍵字函式
- Python函式/動態引數/關鍵字引數Python函式
- 【Leetcode】25.Reverse Nodes in k-GroupLeetCode