我在 Ubuntu 10.04 上使用 SQSH(2.1 版)使用如下命令连接到 MSSQL 数据库:
sqsh -S server -U user -P password -D database
我有一个名为 My Table 的表,但我找不到在其上运行 SELECT 查询的方法。这是我迄今为止尝试过的:
SELECT * FROM 'My Table'
go
输出:“我的桌子”附近的语法不正确。(我对双引号也有同样的看法)
\set t="My Table"
SELECT * FROM $t
go
输出:无效的对象名称“我的”。(这很奇怪,因为如果我执行 \echo $t,我会得到完整的表名)
SELECT * FROM My\\ Table
go
输出:无效的对象名称“我的”。
SELECT * FROM [My Table]
go
输出:纯 Unicode 排序规则中的 Unicode 数据或 ntext 数据无法使用 DB-Library(例如 ISQL)或 ODBC 版本 3.7 或更早版本发送到客户端。
最后一个命令适用于没有任何空格的表名。
更新:其他命令工作正常,例如我可以通过以下方式获取表描述:
SELECT column_name,data_type FROM information_schema.columns WHERE table_name = 'My Table'
go