可以用來偵測資料庫內的資料有無存在亂碼的問題.
故就上網找一下其原文說明:
ASCIISTR takes as its argument a string in any character set and returns an ASCII string in the database character set. The value returned contains only characters that appear in SQL, plus the forward slash (/).
Syntax
>─ASCIISTR──('string')──><
SQL Example
The following example returns the ASCII string equivalent of the text string "flauwekul":
SELECT ASCIISTR('flauwekul') FROM DUAL;
ASCIISTR('FLAUW
---------------
\6<65\756<\6700
|
========================================
***以下是昭佑.天翔前輩的文章內容***
(該先進的網站有很多我們可以學習的地方,各位同好可將其加入最愛~~)
在 Oracle PL/SQL 中,
要檢查資料有無亂碼,
可以透過 ASCIISTR 這個函數,
而在 Big5 DB 中, 亂碼 Ascii 為 \FF1F,
範例 :
-- 建立 Temp Table
CREATE TABLE TOM1(
AA VARCHAR2(100)
);
-- 新增測試資料
INSERT INTO TOM1 VALUES( '國' );
INSERT INTO TOM1 VALUES( '國囯Å' );
COMMIT;
-- 查詢資料, 與其對應的 Ascii
/* 結果顯示
AA ASCIISTR(AA)
---------- ------------------------
國 \570B
國?? \570B\FF1F\FF1F
*/
SELECT AA, ASCIISTR(AA)
FROM TOM1;
-- 查詢有亂碼的資料
/* 結果顯示
AA ASCIISTR(AA)
---------- ------------------------
國?? \570B\FF1F\FF1F
*/
SELECT AA
FROM TOM1
WHERE ASCIISTR(AA) LIKE '%\FF1F%';
-- 刪除 Temp Table
DROP TABLE TOM1;
沒有留言:
張貼留言