2012-07-10 37 views
1

我如何轉換Æ(latin capital letter ae)AE(US7ASCII)在oracle.I試圖與按照下面的查詢:轉換雙拉丁字母US7ASCII

SELECT CONVERT ('Æ', 'US7ASCII') FROM DUAL; 

但它給我作爲輸出,但相同的查詢正在爲單個字符,如下所示:

SELECT CONVERT ('à', 'US7ASCII') FROM DUAL; 

OUTPUT 
========== 
a 
========== 
+0

您是否試圖從一個字符集遷移到另一個字符集?爲什麼'REPLACE'不起作用? – 2012-07-10 13:23:52

+0

@AdamHawkes:我不想硬編碼:( – 2012-07-10 13:29:53

回答

0

US7ASCII是7比特字符集。可能你在這128個字符中沒有字符「Æ」。所以這是不可能的。

+0

:那麼這樣的數據集的解決方案是什麼,我不想硬編碼這個。我有一個字符串'Ææßáâãäåçèéêëìíîïðñòóôõöøùúûüýÿ',我不知道如何做這個沒有硬編碼 – 2012-07-10 13:23:09

+0

我不明白你想做什麼 – 2012-07-10 14:04:53

+0

:我只是想把雙字符集轉換成普通的英文字符,比如'Æ'到'AE',還有更多 – 2012-07-10 14:30:59

1

在ASCII以外的字符集中有一堆數據,並且希望將其全部轉換爲ASCII。爲了更自動地做到這一點,您需要熟悉Customizing a Locale,以便CONVERT知道您希望如何完成轉換。是的,這意味着要對您想要的轉換進行硬編碼,但只能進行一次,而不是針對您要執行的每項操作。

一般而言,您可能不會很樂意轉換這些字符。像「Æ」轉換爲「AE」和「ß」轉換爲「SS」或「SZ」的東西可能會導致長期受挫。