Oracle 字符串函数
Oracle Ascii()函数
在Oracle中,Ascii()函数可以返回代表指定字符的数字值代码,那么Ascii()函数具体该如何实用呢?
Ascii()函数语法
ASCII( single_character )
参数
single_character:指定的字符来检索NUMBER代码。 如果输入多个字符,则ASCII函数将返回第一个字符的值,并忽略第一个字符后的所有字符。
返回值
ASCII函数返回一个数值。
适用于
ASCII函数可用于以下版本的Oracle:
Oracle 12c、Oracle 11g、Oracle 10g、Oracle 9i、Oracle 8i
Ascii()函数示例
下面是一些Oracle ASCII函数的使用示例:
SQL> select ascii('t') from dual;
ASCII('T')
----------
116
SQL> select ascii('T') from dual;
ASCII('T')
----------
84
SQL> select ascii('T2') from dual;
ASCII('T2')
-----------
84Oracle Asciistr()函数
在Oracle中,Asciistr()函数可以使用数据库字符集将任何字符集中的字符串转换为ASCII字符串。下面,就为大家介绍Asciistr()函数的语法及使用方法。
Asciistr()函数语法
ASCIISTR( string )
参数
string:任何字符集中的字符串,希望将其转换为数据库字符集中的ASCII字符串。
返回值
返回一个字符串值。
适用于
ASCIISTR()函数可用于以下版本的Oracle :
Oracle 12c、Oracle 11g、Oracle 10g、Oracle 9i
示例
下面是一些Oracle ASCIISTR()函数的使用示例:
SQL> select asciistr('T2') from dual;
ASCIISTR('T2')
--------------
T2
SQL> select asciistr('T2 A $ ') from dual;
ASCIISTR('T2A$')
----------------
T2 A $Oracle Chr()函数
Oracle Chr()函数可以根据数字代码返回字符,其功能和ASCII函数相反。本教程将为大家带来Chr()函数的语法和示例。
Chr()函数语法
CHR( number_code )
参数
number_code:用于检索对应字符的NUMBER代码。
返回值
返回一个字符串值。
适用于
CHR()函数可用于以下版本的Oracle:
Oracle 12c、Oracle 11g、Oracle 10g、Oracle 9i
示例
下面是Oracle CHR()函数的使用示例:
SQL> select chr(116) from dual;
CHR(116)
--------
t
SQL> select chr(84) from dual;
CHR(84)
-------
TOracle Compose()函数
在Oracle中,使用Compose()函数可以返回一个Unicode字符串。本教程,将为大家带来Compose()函数的语法及使用示例。
Compose()函数语法
COMPOSE( string )
string:用于创建Unicode字符串的输入值。 它可以是char,varchar2,nchar,nvarchar2,clob或nclob。
返回值
返回一个字符串值。
以下是可以在Compose()函数中的其他字符组合使用的unistring值的列表:
Unistring值 | 结果字符 |
---|---|
unistr('\0300') |
重音符(`) |
unistr('\0301') |
锐音符(‘) |
unistr('\0302') |
(^ ) |
unistr('\0303') |
~ |
unistr('\0308') |
变音符(¨ ) |
适用版本
Compose()函数可用于以下版本的Oracle :
Oracle 12c、 Oracle 11g、 Oracle 10g、 Oracle 9i
示例
下面是Oracle Compose()函数的使用示例:
Oracle Concat()函数
CONCAT()函数在Oracle中可以用于将两个字符串连接在一起,那么CONCAT()函数的语法及使用方法是什么呢?下面一起来看看。
CONCAT()函数语法
CONCAT( string1, string2 )
string1:第一个要连接的字符串。
string2:第二个要连接的字符串。
返回值
CONCAT函数返回string1连接string2后的一个字符串值。
适用版本
CONCAT()函数可用于以下版本的Oracle:
Oracle 12c、 Oracle 11g、 Oracle 10g、 Oracle 9i
示例
下面是Oracle CONCAT()函数的使用示例:
SQL> select CONCAT('Oraok', '.com') from dual;
CONCAT('ORAOK','.COM')
----------------------
Oraok.com需要注意:
在Oracle中,CONCAT函数将只允许您将两个值连接在一起。如果需要连接多个值,那么我们可以嵌套多个CONCAT函数调用。
示例:
SELECT CONCAT(CONCAT('A', 'B'),'C')
FROM dual;
-- Result: 'ABC'
以上这个例子将3个值连接在一起并返回'ABC'字符串值。
SELECT CONCAT(CONCAT(CONCAT('A', 'B'),'C'),'D')
FROM dual;
- Result: 'ABCD'
这个例子将连接4个值并返回'ABCD'。
连接单引号
由于CONCAT函数中的参数由单引号分隔,因此如何在CONCAT函数的结果中添加单引号字符并不简单。
我们来看一个相当简单的例子,它展示了如何使用CONCAT函数向结果字符串添加单引号。
SELECT CONCAT('Let''s', ' learn Oracle')
FROM dual;
-- Result: Let's learn Oracle
由于参数包含在单引号中,因此在引号内使用2个额外的单引号来表示生成的连接字符串中的单引号。
Oracle ||运算符
在Oracle中,||运算符可以将两个或两个以上的字符串连接在一起。本章节要为大家带来的就是||运算符的语法及使用示例。
||运算符语法
string1 || string2 [ || string_n ]
string1: 第一个要连接的字符串。
string2:第二个要连接的字符串。
string_n:可选项,第n个要连接的字符串。
返回值
返回连接后的一个字符串值。
适用版本
||运算符可用于以下版本的Oracle:
Oracle 12c、 Oracle 11g、 Oracle 10g、Oracle 9i
示例
下面是Oracle ||运算符的使用示例:
'oraok' || '.com'-- Result: 'oraok.com''a' || 'b' || 'c' || 'd'-- Result: 'abcd'
连接空格字符
将值连接在一起时,可能需要添加空格字符来分隔连接的值。 否则,可能会得到一个串联值一起运行的长字符串。 这使得阅读结果非常困难。
下面来看一个简单的例子。可以使用||运算符连接空格字符。
SELECT 'Dave' || ' ' || 'Anderson'FROM dual;-- Result: 'Dave Anderson'
这里,我们使用了||运算符在Dave和Anderson字符串值之间添加空格字符,最后可以得到以下结果:
'Dave Anderson'
||运算符将多个字段连接在一起时,连接空格字符。
例如:
SELECT first_name || ' ' || last_name AS customer_nameFROM customers;
此示例查询将返回结果集,其中一列由customers表中的first_name和last_name字段(用空格分隔)组成。 结果集中的列将被别名为customer_name。
连接单引号
||运算符将连接包含在单引号中的字符串值,但并不直接说明如何在连接字符串的结果中添加单引号字符。
我们来看一个相当简单的例子,它显示了如何使用||运算符向结果字符串添加单引号。
例如:
SELECT 'Let''s' || ' learn Oracle'FROM dual;-- Result: 'Let's learn Oracle'
由于字符串值用单引号引起来,因此引号内使用2个额外的单引号来表示生成的连接字符串中的单引号。
如果想从其他字符串值中分出单引号,则还可以按如下方式重写此查询:
SELECT 'Let' || '''' || 's' || ' learn Oracle'FROM dual;-- Result: 'Let's learn Oracle'
Oracle Convert()函数
在Oracle中,Convert()函数可以将字符串从一个字符集转换为另一个字符集。本文要为大家带来的就是Convert()函数的使用方法。
Convert()函数语法
CONVERT( string1, char_set_to [, char_set_from] )
- string1:要转换的字符串。
- char_set_to:要转换为的字符集。
- char_set_from:可选的,要从中转换的字符集。
返回值
CONVERT函数返回特定字符集中的字符串值。 可用的字符集是:
字符集 | 描述 |
---|---|
US7ASCII | 美国7位ASCII字符集 |
WE8DEC | 西欧8位字符集 |
WE8HP | 惠普西欧Laserjet 8位字符集 |
F7DEC | DEC法语7位字符集 |
WE8EBCDIC500 | IBM西欧EBCDIC代码第500页 |
WE8PC850 | IBM PC代码第850页 |
WE8ISO8859P1 | ISO 8859-1西欧8位字符集 |
适用版本
Convert()函数可用于以下版本的Oracle:
Oracle 12c、 Oracle 11g、 Oracle 10g、 Oracle 9i
示例
下面是Oracle CONVERT()函数的使用示例:
SQL> select CONVERT('A B C D E ? ê í ? ?', 'US7ASCII', 'WE8ISO8859P1') from dual;CONVERT('ABCDE?êí??','US7ASCII','WE8ISO8859P1')-----------------------------------------------A B C D E ? ?? ?? ? ?
Oracle Dump()函数
在Oracle中,使用Dump()函数可以返回一个varchar2值,这个值包含了数据类型代码、字节长度和表达式的内部表示形式。本文就为大家带来Dump()函数的具有使用方法。
Dump()函数语法
DUMP( expression [, return_format] [, start_position] [, length] )
expression:要分析的表达式。
return_format:决定了返回值的格式,该参数可以是以下任何值:
● 8 :八进制符号
● 10 :十进制符号
● 16 :十六进制符号
● 17 :单个字符
● 1008 :带字符集名称的八进制符号
● 1010 :带字符集名称的十进制符号
● 1016 :带字符集名称的十六进制符号
● 1017 :带字符集名称的单个字符
● 10 :十进制符号
● 16 :十六进制符号
● 17 :单个字符
● 1008 :带字符集名称的八进制符号
● 1010 :带字符集名称的十进制符号
● 1016 :带字符集名称的十六进制符号
● 1017 :带字符集名称的单个字符
start_position :可选的,要返回的内部表示的起始位置。
length :可选的,要返回的内部表示的长度。
返回值
返回一个VARCHAR2值。如果省略了return_format,start_position和length参数,则DUMP函数将以十进制表示形式返回整个内部表示形式。
适用版本
Convert()函数可用于以下版本的Oracle :
Oracle 12c、 Oracle 11g、 Oracle 10g、 Oracle 9i
示例
下面是一些Oracle Dump()函数的使用示例:
DUMP('Tech')-- Result: 'Typ=96 Len=4: 84,101,99,104'DUMP('Tech', 10)-- Result: 'Typ=96 Len=4: 84,101,99,104'DUMP('Tech', 16)-- Result: 'Typ=96 Len=4: 54,65,63,68'DUMP('Tech', 1016)-- Result: 'Typ=96 Len=4 CharacterSet=US7ASCII: 54,65,63,68'DUMP('Tech', 1017)-- Result: 'Typ=96 Len=4 CharacterSet=US7ASCII: T,e,c,h'配置
Oracle Initcap()函数
在Oracle中,Initcap()函数可以将每个单词中的第一个字符设置为大写,其余的设置为小写。下面就是Initcap()函数的语法及具体用法介绍。
Initcap()函数语法
INITCAP( string1 )
string1 :字符串参数,其中每个单词中的第一个字符将转换为大写字母,其余所有字符转换为小写字母。
返回值
返回一个字符串值。
适用版本
Initcap()函数可用于以下版本的Oracle :
Oracle 12c、 Oracle 11g、 Oracle 10g、 Oracle 9i
示例
下面是一些Oracle Initcap()函数使用示例:
INITCAP('tech on the oraok');-- Result: 'Tech On The Oraok'INITCAP('GEORGE BURNS');-- Result: 'George Burns'
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">