关于 sql 函数
sql 函数内置在 oracle 中, 可以在各种适当的 sql 语句中使用。不要将 sql 函数与在 pl/sql 中写入的用户定义函数混淆。
如果使用 sql 函数所需的数据类型以外的参数调用 sql 函数, 则 oracle 将在执行 sql 函数之前尝试将该参数转换为预期的数据类型。
另请参见:
“关于用户定义函数”, 了解有关用户函数和数据类型隐式转换的”数据转换”的信息
sql 函数中的 null
当给定 null 参数时, 大多数标量函数返回 null。可以使用nvl函数在 null 发生时返回值。例如, 如果commission_pct为 null 或commission_pct的值为 null, 则表达式nvl(commission_pct,0)返回0。
有关聚合函数如何处理空值的信息, 请参阅”聚合函数”.
sql 函数的语法在 sql 函数的语法图中, 参数由它们的数据类型指示。当参数function出现在 sql 语法中时, 将其替换为本节中描述的函数之一。函数按参数的数据类型及其返回值进行分组。
注意:
将 sql 函数应用于 lob 列时, oracle 数据库将在 sql 和 pl/sql 处理期间创建临时 lob。应确保临时表空间配额足以用于为应用程序存储这些临时 lob。
注意:
nls_comp和nls_sort设置的组合值决定了对字符进行排序和比较的规则。如果nls_comp设置为数据库的linguistic, 则本章中的所有实体将根据nls_sort参数指定的规则进行解释。如果nls_comp没有设置为linguistic, 则在不考虑nls_sort设置的情况下解释函数。可以显式设置nls_sort。如果未显式设置, 则从nls_language派生。有关这些设置的详细信息, 请参阅oracle 数据库全球化支持指南。
显示函数类别的语法如下所示:
功能::=
插图 “函数. gif” 的说明
single_row_function::=
插图 “single_row_function” 的说明
下面的部分列出了前面的关系图中除用户定义函数之外的每个组中的内置 sql 函数。然后, 所有内置 sql 函数按字母顺序进行描述。