2015-08-20 99 views
-1

我有幾個databaseswith名稱,如029jdfj-jh73jsd-hsdjhd7uew723-73823n-783nd。當我嘗試運行select語句時,會拋出以下錯誤:選擇從數據庫使用名稱包含特殊字符

Msg 102, Level 15, State 1, Line 2 
Incorrect syntax near '029jdfj'. 
Msg 102, Level 15, State 1, Line 4 
Incorrect syntax near 'uew723'. 

如何從這些數據庫中進行選擇?

select語句:

select Name from 029jdfj-jh73jsd-hsdjhd7.dbo.Names where Name like 'JWS Tech' or select Name from uew723-73823n-783nd.dbo.Names where Name like 'JWS Tech' 

回答

0

使用方括號在你的非正統的名字:何時以及爲什麼你需要界定您的標識這種方式,可以發現here

select Name from [029jdfj-jh73jsd-hsdjhd7].dbo.Names where Name like 'JWS Tech' 
select Name from [uew723-73823n-783nd].dbo.Names where Name like 'JWS Tech' 

更多信息。

不符合所有標識符規則的標識符必須在Transact-SQL語句中分隔。

0
select Name 
from [029jdfj-jh73jsd-hsdjhd7].dbo.Names 
where Name like '%JWS Tech%' 
UNION 
select Name 
from [uew723-73823n-783nd].dbo.Names 
where Name like '%JWS Tech%' 

您應該使用union而不是or爲2個相結合的結果集。 當您使用like查找圖案時,還可以使用%。另外,如果您的模式名稱以數字開頭,那麼最好使用[],正如@sstan在他的答案中所述。

相關問題