【发布时间】:2013-02-20 18:59:41
【问题描述】:
我了解可以在数据库的不同表中以不同方式设置排序规则。整理自What does character set and collation mean exactly?了解
有一个查询从 char 结果执行CAST,如下所示。不涉及任何表。我想,应用的编码将基于数据库级别的排序规则。这个假设正确吗?
SELECT CAST ( SSS.id_encrypt ('E','0000000{0}') AS CHAR(100) FOR BIT DATA)
AS ENCRYPT_ID FROM FFGLOBAL.ONE_ROW FETCH FIRST 1 ROW ONLY
问题
在@AlexFilipovici [.Net BlockCopy ] 给出的问题Get Byte[] from Db2 without Encoding 中,与CAST 结果相比,提供了不同的结果。如果没有关联的codepage,为什么会这样?
基于 National language support - Character conversion
位数据(定义为 FOR BIT DATA、BLOB 或二进制字符串的列)不与任何字符集相关联。
参考
【问题讨论】:
-
不要问这样一个涉及两个不同 RDBMS 的问题,因为答案可能完全不同。它们是两个独立的问题。 (实际上编辑我看到你实际上问了 四个 问题!)
-
@MartinSmith 谢谢。我已更新问题以使其特定于 DB2
-
我认为您在这里提出的问题太多了。此外,如果您希望迁移此问题,我们的 DBA 站点可能更适合此问题。
-
@Kev 要回答这个问题,需要.Net 相关知识(.Net BlockCopy)。因此,转移到 DBA 站点并不好。