0
的这个查询的工作:Teradata的字符串索引出界
SELECT
TOP 100 SUBSTRING(column_name FROM 6 FOR CHARACTER_LENGTH(column_name) - 5) AS X
FROM db_name.table_name
但是,下面的查询(添加WHERE
条款)不执行。
SELECT
TOP 100 SUBSTRING(column_name FROM 6 FOR CHARACTER_LENGTH(column_name) - 5) AS X
FROM db_name.table_name
WHERE NOT EXISTS
(
SELECT 1
FROM db_name2.lookup_name H
WHERE H.SRC_NUM1 = X
AND H.SRC_TYPE = 11
)
以上查询抛出
选择失败。 2663:SUBSTR:字符串标出TABLE_NAME.COLUMN_NAME
不过界,这下一个作品(原SELECT
是嵌套)
SELECT *
FROM (
SELECT
TOP 100 SUBSTRING(column_name FROM 6 FOR CHARACTER_LENGTH(column_name) - 5) AS X
FROM db_name.table_name
) A
WHERE NOT EXISTS
(
SELECT 1
FROM db_name2.lookup_name H
WHERE H.SRC_NUM1 = X
AND H.SRC_TYPE = 11
)
为什么会这样呢?我正在使用SQL助手来执行查询,但我怀疑它是相关的。
不能你根本'SUBSTRING(列6)'? – jarlh
会尝试;但为什么第二个查询失败的原始混淆仍然为 – xenodevil
错误是由FOR中的负值造成的。奇怪的数据模型,你能展示一些示例数据和预期结果吗? – dnoeth