gpt4 book ai didi

sql-server - 使用SQSH对名称中带有空格的表进行SELECT查询

转载 作者:行者123 更新时间:2023-12-03 15:25:26 31 4
gpt4 key购买 nike

我正在Ubuntu 10.04上使用SQSH(版本2.1),使用类似以下命令的方式连接到MSSQL数据库:

sqsh -S server -U user -P password -D database

我有一个名为“我的表”的表,但是找不到在其上运行SELECT查询的方法。到目前为止,这是我尝试过的:
SELECT * FROM 'My Table'
go

输出:“我的表”附近的语法不正确。 (双引号也一样)
\set t="My Table"
SELECT * FROM $t
go

输出:无效的对象名称“My”。 (这很奇怪,因为如果我执行\e $ t,我会得到完整的表名)
SELECT * FROM My\\ Table
go

输出:无效的对象名称“My”。
SELECT * FROM [My Table]
go

输出:不能使用DB-Library(例如ISQL)或ODBC 3.7或更早版本将仅纯Unicode归类的Unicode数据或ntext数据发送到客户端。

对于没有任何空格的表名,最后一个命令可以正常工作。

更新:其他命令可以正常工作,例如我可以通过以下方式获得表说明:
SELECT column_name,data_type FROM information_schema.columns WHERE table_name = 'My Table'
go

最佳答案

在MS SQL Server中,将表名放在引号中不起作用。
正确的方法是使用[ ]:

SELECT * FROM [My Table]

关于sql-server - 使用SQSH对名称中带有空格的表进行SELECT查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8926673/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com