【发布时间】:2015-12-21 16:56:53
【问题描述】:
我遇到了关于 SUBSTR 函数的问题。
想象一下表格(TABLE1):
ABC_DEF DESCRIPTION
-------- -------------
0999 TEST INFO
如果我做这个查询:
SELECT * FROM TABLE1
WHERE
(
ABC_DEF = '0999'
)
我得到了这个结果:
ABC_DEF DESCRIPTION
-------- -------------
0999 TEST INFO
但是,如果我这样做:
SELECT * FROM TABLE1
WHERE
(
ABC_DEF = SUBSTR('00000999', 5, 4)
)
我得到 0 个结果。我完全不理解这种行为。属性 ABC_DEF 是一个 char(8)。
【问题讨论】:
-
我在 oracle sql developer 中使用它,它可以正常工作。我正在这样使用它,因为我们正在测试一个自动生成的.c 查询。编辑:你是对的。复制查询是我的错。这是正常的括号。