我有两个表在不同的数据类型中具有相同的值。
一个是CHARACTER
长度2,另一个是SMALLINT
。
如何在where子句中比较两者?
我有INT(CHAR_COLUMN_X) = SMALLINT_COLUMUN_X
。这样很好还是我忽略了什么?
答案 0 :(得分:2)
那应该没问题。如果它是SMALLINT
列,那么您可以转到那个而不是INT
CAST(CHAR_COLUMN_X AS SMALLINT) = SMALLINT_COLUMN_X
如果CHAR_COLUMN_X中的值不能转换为smallint(例如,一个字母),那么DB2将抛出-420
SQL Code。