熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

應用AWE來改善SQL Server的性能

2013-11-15 14:43:13  來源: SQL Server 

  很多語言包括英語在內都使用沉音字符(accented character)因為這些字符不屬於 ASCII 字符集所以如果不查看 Unicode 值也不使用 Unicode 編輯器並將其轉成一個已知字符集就很難編寫使用這些字符的代碼
  
  Oraclei引入了 COMPOSE 函數該函數接受一串 Unicode 字符並規則化其文本這就意味著它可以接受一個字母和一個組合標記比如說a(Unicode 字符)和沉音符(Unicode 字符然後創建一個單獨的由兩個標記組合而成的字符COMPOSE 使用特殊的組合標記而沒有使用 ASCII 中相應的音節標記它所使用的特殊的組合標記是Unicode 標准的一部分上面的例子的結果應該是 Unicode 字符E(有一個沉音符的小寫拉丁字母a
  
  在 ANSI 中最常見的組合字符有
  
  ·U+沉音符(grave accent)( ` )
  
  ·U+重音符(acute accent)( )
  
  ·U+抑揚音符號(circumflex accent)(^)
  
  ·U+颚化符號(tilde)(~)
  
  ·U+元音變音
  
  如果沒有特殊的軟件或者鍵盤驅動程序的話很難在鍵盤上輸入 Unicode 字符因此以純 ASCII 文本輸入 Unicode 序列的一個方法是使用 UNISTR 函數這個函數接受一個 ASCII 字符串然後以國家字符集(通常作為位 Unicode 或者 UTF 字符集安裝)創建一個 Unicode 字符的序列它使用十六進制占位符序列映射任何非 ASCII 字符映射方式與 Java 類似
  
  要輸入 a 後接一個沉音符組合字符的序列可以使用 UNISTR(a\)而不要試圖直接在代碼中輸入字符這個函數在任何字符集以及任何具有基於 Unicode 的國家字符集的數據庫下都可以正常運行可以將多個組合字符放在函數中——可以在 UNISTR 函數中混合使用 ASCII 和 Unicode 占位符例如可以像下面這樣使用 UNISTR 函數
  
  select COMPOSE(UNISTR(Unless you are nai\ve meet me at the cafe\ with
  your re\sume\)) from dual;
  
  在將 UNISTR 函數的輸出與 COMPOSE 組合時可以在不查找任何值的情況下生成一個 Unicode 字符例如
  
  select it is true if compose(unistr(a\)) = unistr(\e);
  
  

From:http://tw.wingwit.com/Article/program/SQLServer/201311/22235.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.