📜  PLSQL |转换函数

📅  最后修改于: 2022-05-13 01:54:26.626000             🧑  作者: Mango

PLSQL |转换函数

PL/SQL 中的字符串实际上是一个带有可选大小规范的字符序列。
字符可以是数字、字母、空白、特殊字符或所有字符的组合。
PLSQL 中的 CONVERT函数用于将字符串从一个字符集转换为另一个字符集。
通常,目标字符集包含源字符集中定义的所有字符的表示。
如果在任何情况下,目标字符集中不存在字符,则会出现替换字符。这些替换字符可以定义为字符集定义的一部分。

句法:

CONVERT( string1, char_set_to [, char_set_from] )

使用的参数 –

  1. 字符串 1 –
    它用于指定要转换的字符串。它可以是任何数据类型 CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB 或 NCLOB。
  2. char_set_to –
    它用于指定字符串需要转换成的字符集。
  3. char_set_from –
    它是一个可选参数,用于指定需要转换字符串的字符集。

注 –目标和源字符集参数都可以是字面量或包含字符集名称的列。

可用字符集:

  • US7ASCII :美国 7 位 ASCII字符集
  • WE8DEC : 西欧 8 位字符集
  • WE8HP : HP 西欧 Laserjet 8 位字符集
  • F7DEC : DEC 法语 7 位字符集
  • WE8EBCDIC500:IBM 西欧 EBCDIC 代码页 500
  • WE8PC850 : IBM PC 代码页 850
  • WE8ISO8859P1 : ISO 8859-1 西欧 8 位字符集

支持的 Oracle/PLSQL 版本:

  1. 甲骨文 12c
  2. 甲骨文 11g
  3. 甲骨文 10g
  4. 甲骨文 9i
  5. 甲骨文 8i

例子:

DECLARE 
   Test_String string(10) := 'A B C D';
   Test_String2 string(20) := 'E Ä Ê Í';
   
BEGIN 
   dbms_output.put_line(CONVERT(Test_String, 'US7ASCII', 'WE8ISO8859P1')); 
   dbms_output.put_line(CONVERT(Test_String2, 'US7ASCII')); 
   
END;  

输出:

A B C D
E A E I