Db2® 产品提供了许多在 IBM PureData® System for Analytics (Netezza®) 中可用的相同函数。在某些情况下,您必须使用替代项,例如,名称不同但提供类似支持的 Db2 函数。
下列各表中列出的 Netezza 函数没有名称和行为相同的相应
Db2 函数。如有可能,将会给出这些 Netezza 函数的替代项。
Netezza SQL 函数
表 1. 模糊字符串搜索函数
| Netezza 函数 |
Db2 替代项 |
| dle_dst |
没有替代项。 |
| le_dst |
没有替代项。 |
表 2. 语音匹配函数
| Netezza 函数 |
Db2 替代项 |
| dbl_mp |
没有替代项。 |
| nysiis |
没有替代项。 |
| pri_mp |
没有替代项。 |
| score_mp |
没有替代项。 |
| sec_mp |
没有替代项。 |
表 3. 值函数
| Netezza 函数 |
Db2 替代项 |
| current_catalog |
创建会话变量。 |
| current_db |
创建会话变量。 |
| current_tx_path |
创建会话变量。 |
| current_tx_schema |
创建会话变量。 |
| current_userid |
创建会话变量。 |
| current_useroid |
创建会话变量。 |
Netezza SQL 扩展函数
表 4. 三角函数
| Netezza 函数 |
Db2 替代项 |
| pi |
创建用户定义函数 (UDF)。 |
表 5. 随机数函数
| Netezza 函数 |
Db2 替代项 |
| setseed |
将种子值传递给 RANDOM 函数。 |
表 6. 数字函数
| Netezza 函数 |
Db2 替代项 |
| dceil |
使用输入类型为 DOUBLE 的 CEIL 函数。 |
| dfloor |
使用输入类型为 DOUBLE 的 FLOOR 函数。 |
| fpow |
使用输入类型为 DOUBLE 的 POW 函数。 |
| numeric_sqrt |
使用输入类型为 DECFLOAT 的 SQRT 函数。 |
| n! |
没有替代项。 |
表 7. 二进制数学函数
| Netezza 函数 |
Db2 替代项 |
| intNshl |
使用二进制补码乘法。 |
| intNshr |
使用二进制补码除法。 |
表 8. 日期和时间函数
| Netezza 函数 |
Db2 替代项 |
| age(两个版本) |
Db2 AGE 函数可用,但返回 INTEGER。 |
| duration_add |
使用标签持续时间或使用日期、时间或时间戳记算术,如日期时间运算和持续时间所述。 |
| duration_subtract |
使用标签持续时间或使用日期、时间或时间戳记算术,如日期时间运算和持续时间所述。 |
| timeofday |
将 VARCHAR_FORMAT 函数与 CURRENT_TIMESTAMP 专用寄存器配合使用。 |
表 9. 字符串函数
| Netezza 函数 |
Db2 替代项 |
| translate |
Db2 TRANSLATE 函数可用,但此函数的选项缺省顺序与 Netezza
translate 函数的选项顺序不同。要对 Db2 TRANSLATE 函数启用 Netezza 选项顺序,请将 SQL_COMPAT 全局变量设置为 'NPS'。 |
| unichr |
没有替代项。 |
| unicode |
没有替代项。 |
| unicodes |
没有替代项。 |
表 10. 转换函数
| Netezza 函数 |
Db2 替代项 |
| hex_to_binary |
使用 HEXTORAW 函数。 |
| hex_to_geometry |
没有替代项。 |
| int_to_string |
没有替代项。 |
| string_to_int |
没有替代项。 |
表 11. 其他非聚集函数
| Netezza 函数 |
Db2 替代项 |
| get_viewdef |
查询 SYSCAT.VIEWS TEXT 列。 |
表 12. 其他函数
| Netezza 函数 |
Db2 替代项 |
| dense_rank |
此函数仅在 OLAP 查询中受支持。 |
| rank |
此函数仅在 OLAP 查询中受支持。 |
| trim |
在较为复杂的用法中存在差异。 |
SQL 扩展工具箱函数
表 13. SQL 扩展工具箱函数
| SQL 扩展工具箱函数的类别 |
特定函数 |
Db2 替代项 |
| XML |
所有函数,例如,IsValidXML |
在 Netezza XML 函数与 Db2 XML 函数之间不存在一对一映射。请使用相应的 Db2 XML 函数。 |
| 数据转换 |
compress、compress_nvarchar、decompress、decompress_nvarchar、uudecode 和 uuencode 函数 |
没有可用的替代项。但是,缺省情况下,Db2 产品会对 BLU 表使用压缩,因此您可能不需要自己在列级别压缩数据。 |
| encrypt、encrypt_nvarchar、decrypt、decrypt_nvarchar、fpe_decrypt 和 fpe_encrypt 函数 |
Db2 数据库已加密。但是,如果要使用函数,请考虑使用 Db2
ENCRYPT、DECRYPT_BIN 和 DECRYPT_CHAR 函数。要进行屏蔽,您可使用行列访问控制 (RCAC)。 |
| 散列 |
hash_nvarchar 函数 |
通过使用 Db2 HASH 函数,您可以创建名为 hash_nvarchar 的有源函数。 |
| 文本分析函数 |
regexp_extract_all、regexp_extract_all_sp、regexp_extract_sp 和 regexp_replace_sp 函数 |
请考虑重新编写代码以使用 Db2 REGEXP_EXTRACT 函数。 |
| 数组函数 |
所有函数,例如 add_element |
请考虑使用 SQL PL 数组支持。 |
| 集合函数 |
collection 和 element_type 函数 |
请考虑改为使用 SQL PL 数组支持。 |
| 其他函数 |
corr、covar_pop 和 covar_samp 函数 |
以下 Db2 函数可用,这些函数具有对应于 Netezza 名称的同义词:
- CORR 是 CORRELATION 函数的同义词。
- COVAR_POP 是 COVARIANCE 函数的同义词。
- COVAR_SAMP 是 COVARIANCE_SAMP 函数的同义词。
|
| mt_random 函数 |
如果不需要使用 Mersenne Twister 伪随机数生成器,请使用 Db2 RANDOM 函数。 |