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)。
使用 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)。