DB2 SQL Query不考虑字段数据中的空格

时间:2014-03-03 08:36:35

标签: sql db2

我的应用程序中的数据库使用空格将数据保存在表的字段中。但是当我查询数据时,它不考虑字段数据中的空格并且不考虑空格而给出所有结果

VAT_TABLE.VAR_DATA
------------------
I                   --- 1 space after I
I                   --- 2 space after I
I                   --- 0 space after I
I                   --- 1 space after I
I                   --- 3 space after I
I                   --- 4 space after I

当我运行此查询>>> SELECT * FROM VAT_TABLE WHERE VAR_DATA = 'I '

结果显示所有6行,与“I”

之后的空格无关

任何想法?

1 个答案:

答案 0 :(得分:1)

DB2在比较两个字符串时特别忽略了尾随空格。

所以“我”==“我”==“我”

如果您想区分“我”和“我”,您需要: -

WHERE VAR_DATA = 'I' AND LENGTH(VAR_DATA) = 2

此行为反映了COBOL,MVS Assembler和PL / 1的比较逻辑,它们是最初开发DB2时目标平台上的主要语言。