Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在DB2中查找所有具有unicode字符的记录_Sql_Db2 - Fatal编程技术网

Sql 如何在DB2中查找所有具有unicode字符的记录

Sql 如何在DB2中查找所有具有unicode字符的记录,sql,db2,Sql,Db2,我知道还有其他类似的问题,但它们是特定于某些特殊角色的。 我正在寻找一种解决方案,通过该解决方案,我可以过滤掉DB2中列中具有unicode字符的所有记录,正如Mustacio所说,所有字符都是unicode 使用其他语言的文本字符时可能会遇到问题。以英语为母语的人不理解其他字符的问题是很常见的,因为26个字符在所有编码中都是标准的 如果你有这个问题,你必须用另一种方式来描述你的问题。比如: 将所有unicode字符作为一个集合,我想知道在我的案例中,哪些字符不属于西班牙语中有效字母的子集 记住

我知道还有其他类似的问题,但它们是特定于某些特殊角色的。
我正在寻找一种解决方案,通过该解决方案,我可以过滤掉DB2中列中具有unicode字符的所有记录,正如Mustacio所说,所有字符都是unicode

使用其他语言的文本字符时可能会遇到问题。以英语为母语的人不理解其他字符的问题是很常见的,因为26个字符在所有编码中都是标准的

如果你有这个问题,你必须用另一种方式来描述你的问题。比如:

将所有unicode字符作为一个集合,我想知道在我的案例中,哪些字符不属于西班牙语中有效字母的子集

记住这一点,您可以查询数据,并对不属于您的语言的值执行分析。您可以使用正则表达式来实现这一点

CREATE OR REPLACE FUNCTION ENCODING_VALIDATION_SPANISH (
 IN TEXT VARCHAR(256) 
) RETURNS VARCHAR(32)
LANGUAGE SQL
PARAMETER CCSID UNICODE
SPECIFIC F_ENC_VAL_SP
DETERMINISTIC
NO EXTERNAL ACTION
READS SQL DATA
F_ENC_VAL_SP: BEGIN
  DECLARE RET VARCHAR(32);
  SET RET = XMLCAST (
    -- The next line define the valid characters for the Spanish language.
    XMLQUERY ('fn:matches($TEXT,"^[A-Za-z\- \.,\?\u00C1\u00E1\u00C9\u00E9\u00CD\u00ED\u00D3\u00F3\u00DA\u00FA\u00DC\u00EC\u0147\u0148]*$")' 
      PASSING TEXT AS "TEXT"
  ) AS VARCHAR(32));
  RETURN RET;
END F_ENC_VAL_SP @

我写了一篇文章,解释了这个问题:

定义unicode字符。在Unicode数据库中,任何存储的字符都是Unicode字符,因此根据该定义,所有具有非空值的记录中都将包含Unicode字符。