我有一個包含嵌入的換行符字符一些VARCHAR2字段中的數據(見this question)Oracle:如何知道我的文本字段中有哪些換行符(或低ASCII字符)?
然而,似乎在它存儲的嵌入式換行字符的方式,數據不同 - 一些數據可以追溯到90年代中期,所以這並不奇怪。
我怎樣才能確切地看到我的字段中嵌入了哪些字符?我已經嘗試了sqldeveloper和sql * plus。
我有一個包含嵌入的換行符字符一些VARCHAR2字段中的數據(見this question)Oracle:如何知道我的文本字段中有哪些換行符(或低ASCII字符)?
然而,似乎在它存儲的嵌入式換行字符的方式,數據不同 - 一些數據可以追溯到90年代中期,所以這並不奇怪。
我怎樣才能確切地看到我的字段中嵌入了哪些字符?我已經嘗試了sqldeveloper和sql * plus。
最簡單的方法是
SELECT your_column_name, dump(your_column_name, 1013)
FROM your_table_name
會告訴你存儲在該列的每個字符的十進制值。因此,例如,
SQL> ed
Wrote file afiedt.buf
1 select ename, dump(ename, 1013) dmp
2* from emp
SQL>/
ENAME DMP
---------- -------------------------------------------------------
smith Typ=1 Len=5 CharacterSet=AL32UTF8: 115,109,105,116,104
ALLEN Typ=1 Len=5 CharacterSet=AL32UTF8: 65,76,76,69,78
WARD Typ=1 Len=4 CharacterSet=AL32UTF8: 87,65,82,68
JONES Typ=1 Len=5 CharacterSet=AL32UTF8: 74,79,78,69,83
MARTIN Typ=1 Len=6 CharacterSet=AL32UTF8: 77,65,82,84,73,78
BLAKE Typ=1 Len=5 CharacterSet=AL32UTF8: 66,76,65,75,69
CLARK Typ=1 Len=5 CharacterSet=AL32UTF8: 67,76,65,82,75
SCOTT Typ=1 Len=5 CharacterSet=AL32UTF8: 83,67,79,84,84
KING Typ=1 Len=4 CharacterSet=AL32UTF8: 75,73,78,71
TURNER Typ=1 Len=6 CharacterSet=AL32UTF8: 84,85,82,78,69,82
ADAMS Typ=1 Len=5 CharacterSet=AL32UTF8: 65,68,65,77,83
SM0 Typ=1 Len=3 CharacterSet=AL32UTF8: 83,77,48
FORD Typ=1 Len=4 CharacterSet=AL32UTF8: 70,79,82,68
MILLER Typ=1 Len=6 CharacterSet=AL32UTF8: 77,73,76,76,69,82
FOO Typ=1 Len=3 CharacterSet=AL32UTF8: 70,79,79
15 rows selected.
完美。謝謝。 – chris 2011-04-29 17:40:31