首页 > 解决方案 > Teradata - 查找具有特殊占位符的行

问题描述

我在 Teradata 中有一张表,它可以收集来自多个来源的产品,并将它们放入一个大表中。其中一些源设置为 UTF-8 源,但其目标是拉丁编码。这导致一些记录插入带有白色问号的黑色菱形。我将它们合并到的表是 UNICODE,但我希望能够标记包含这些占位符字符的行。我已经尝试将 Unicode 转换为拉丁函数,但这也会对合法的非拉丁 Unicode 字符(如外语)做出反应。

这些是我追求的角色

有什么方法可以识别和标记包含此特定占位符字符的记录?任何信息将不胜感激!

标签: unicodedatabase-designcharacter-encodingteradata

解决方案


您可以使用该CHAR2HEXINT函数进行验证,但这似乎是错误替换字符(x'1A' 拉丁语或 U+FFFD Unicode)。找到该特定值的技巧是生成比较值。

POSITION(CHR(26) IN Latin_Column) > 0

或者

POSITION(TRANSLATE(CHR(26) USING LATIN_TO_UNICODE WITH ERROR) IN Unicode_Column) > 0

推荐阅读