Oracle CHARTOROWID() 函数使用指南
Oracle CHARTOROWID()
是一个内置函数,它将一个给定的字符串值转换为 ROWID
数据类型。
Oracle CHARTOROWID()
语法
这里是 Oracle CHARTOROWID()
函数的语法:
CHARTOROWID(rowid_str)
参数
rowid_str
-
必需的。 ROWID 值的字符串表示。它可以是
CHAR
、VARCHAR2
、NCHAR
或NVARCHAR2
数据类型的值。
返回值
Oracle CHARTOROWID()
函数将一个给定的字符串值转换为 ROWID
数据类型并返回转换后的值。
如果您传入了一个无效的 rowid 值, Oracle 将报告一个错误。
如果任意一个参数为 NULL
, CHARTOROWID()
将返回 NULL
。
Oracle CHARTOROWID()
示例
这里有几个展示了 Oracle CHARTOROWID()
函数用法的示例。
基本用法
下面的语句将一个字符类型的 rowid 字符串表示转换为 ROWID
类型的值。
SELECT
CHARTOROWID('AAAFD1AAFAAAABSAA/')
FROM dual;
输出:
CHARTOROWID('AAAFD1AAFAAAABSAA/')
____________________________________
AAAFd1AAFAAAABSAA/
再来一个示例:
SELECT
CHARTOROWID('AAATiDAAMAAALKzABa')
FROM dual;
输出:
CHARTOROWID('AAATIDAAMAAALKZABA')
____________________________________
AAATiDAAMAAALKzABa
看起来输出和普通的字符串没有什么不同,为了了解 CHARTOROWID()
函数的输出结果的类型,您可以使用 DUMP()
函数查看其内部结果:
SELECT
DUMP('A'),
DUMP(CHARTOROWID('AAATiDAAMAAALKzABa'))
FROM dual;
输出:
DUMP('A') DUMP(CHARTOROWID('AAATIDAAMAAALKZABA'))
___________________ _____________________________________________
Typ=96 Len=1: 65 Typ=69 Len=10: 0,1,56,131,3,0,178,179,0,90
你会发现,普通字符串的类型 ID 是 96
, 而 CHARTOROWID()
函数的返回值的类型 ID 是 69
。
无效的 rowid
如果您传入了一个无效的 rowid 值, Oracle 将报告一个错误。
SELECT
CHARTOROWID('abc')
FROM dual;
输出:
SQL Error: ORA-01410: invalid ROWID
01410. 00000 - "invalid ROWID"
NULL 参数
如果任意一个参数为 NULL
, CHARTOROWID()
将返回 NULL
。
SET NULL 'NULL';
SELECT
CHARTOROWID(NULL)
FROM dual;
输出:
CHARTOROWID(NULL)
____________________
NULL
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle CHARTOROWID()
是一个内置函数,它将一个给定的字符串值转换为 ROWID
数据类型。