【问题标题】:Casting DB2 column to accept multi lingual characters in Open query在打开查询中强制转换 DB2 列以接受多语言字符
【发布时间】:2018-12-14 04:13:18
【问题描述】:

我正在使用开放式查询将数据从 IBM db2 检索到 SQL 服务器。

以下是使用的示例查询

select top 10 * from OpenQuery(Link server, 'Select columnName from table where column2=15'  )

columnName 需要转换/转换为 Unicode 格式以接受多语言字符。如何在内部查询中使用强制转换?

我的问题类似于https://www.sqlservercentral.com/forums/997384/linker-server-to-as400-db2-character-translation-problems的问题

我想检索泰文和中文字符的数据。我有一排泰文和中文的数据。但是当我使用我提供的命令时,数据显示为乱码。 sql server中的列类型定义为nvarchar。

【问题讨论】:

    标签: sql-server db2 db2-400


    【解决方案1】:

    使用与您的语言对应的 CCSID 代码 xxxx 投射您的专栏:

    select cast(columnName as char(14) CCSID xxxx) from ...

    【讨论】:

    • 嗨。 CCSID 号码应该是什么?
    • 取决于您的 IBM i 的主 CCSID,并取决于列定义。请参阅 [CCSID IBM i] (ibm.com/support/knowledgecenter/ssw_ibm_i_72/db2/…)
    • 您可能希望从中选择一些 CCSID。 1208 是 UTF-8 的 CCSID,1200 是 UTF-16 的 CCSID,为了完整起见,13488 是 UCS-2 的 CCSID,尽管 UCS-2 已被 UTF-16 取代。 CCSID 不支持 UTF-32。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    相关资源
    最近更新 更多