如何在DB2中使用多字节字符的字段上正确返回子字符串?

时间:2016-02-15 22:31:18

标签: sql db2 byte ascii substr

希望我能清楚地表达这个问题。

以下是我要做的事情:

我需要从DB2中的大型varchar字段中解析某些数据。

表名是VCCV013A_DLTA_TERA。字段名称为X_ROW_TBL。

以下是在X_ROW_TBL中找到的数据示例,包括最后找到的空格(“X”正在替换我不想在此处发布的某些敏感数据):

���pÃd%MERLN      XXXXXXXXXXXXXXXXXXXXXX                                                                                                                                                                                                                          ��� ��� ��� ��� ���                                                                                                                                                                                                                                            

我希望这个查询:

select rtrim(substr(x_row_tbl,8,8))
from ti_dev.VCCV013A_DLTA_TERA;

会返回此结果:

MERLN

然而,它返回:

%MERLN

原因似乎是它将“Ô(ascii 195)字符识别为两个字节长。我的问题是:如何以这样的方式编写此查询:我可以检索从位置8开始的字符而不是字节?

非常感谢!

0 个答案:

没有答案