SQL SELECT 无法引用 "INDEX" 列

SQL SELECT cannot reference "INDEX" column

使用 Advantage SQL,我有以下查询:

SELECT TOP 10 mytable.*
FROM "mytable.ADT" mytable
ORDER BY date DESC

这个returns这个数据集:

INDEX            NR     NAME       Date
---------------------------------------------------
"145443"         115    Bob        19.03.2021 12:26
"23545",1        215    Steve      19.03.2021 12:09
"564543","",0    215    John       19.03.2021 12:09
"456234"         215    Mark       19.03.2021 12:09

我想做的是处理 INDEX 列中的数据。但是,如果我 运行 使用此字段名称的普通 SELECT 查询:

SELECT mytable.INDEX etc

它没有 运行。我也无法将其添加为别名或其他任何内容。

是否有任何解决方法可以将特定列拉入 SELECT?我的目标是进行文本操作以删除引号并仅提取位于中间的纯数字。

这是我第一次遇到这个问题 - 我猜 INDEX 这个词在某种程度上是一个函数名,它把事情搞砸了。但我也猜想有解决办法吗?

谢谢。

INDEX 是一个 SQL 关键字 -- 可能是保留关键字,这就是问题所在。

你需要逃避它。我相信 Advantage 支持双引号和方括号:

SELECT mytable."INDEX", mytable.[INDEX]
FROM "mytable.ADT" mytable
order by date desc

请注意,当您转义列名时,大写在某些数据库中很重要(但不是 Advantage SQL)。