efb*_*son 4 sql sql-server linked-server historian
我链接到Proficy Historian,它允许列名称中包含句点.因为数据以非DBMS格式存储,所以我不能openquery用来获取数据,因为表没有设置模式.所以我必须使用四部分名称语法来获取数据.这个例子有效:
SELECT * FROM iHist...[SELECT * FROM ihTrend]
Run Code Online (Sandbox Code Playgroud)
但是在'.'附近的语法不正确.
SELECT * FROM iHist...[SELECT [SERVER.pid_astatus[07][0].F_CV.Value] FROM ihTrend]
Run Code Online (Sandbox Code Playgroud)
SERVER.pid_astatus[07][0].F_CV.Value列的名称在哪里
这也与关键字'from'附近的语法错误一致.
SELECT * FROM
iHist...[SELECT [SERVER.pid_astatus[[07]][[0]].F_CV.Value] from ihTrend]`
Run Code Online (Sandbox Code Playgroud)
关于如何让SQL Server将其视为列的任何想法?
编辑:
Martins建议右括号转义括号只能在sql调用的外部工作
SELECT [SERVER.pid_astatus[07]][0]].F_CV.Value] FROM iHist...[SELECT * FROM ihTrend]
Run Code Online (Sandbox Code Playgroud)
但是它在关键字'from'附近的不正确语法中不起作用.
SELECT * FROM iHist...[SELECT [SERVER.pid_astatus[07]][0]].F_CV.Value] FROM ihTrend]
Run Code Online (Sandbox Code Playgroud)
编辑
SELECT * FROM iHist...[SELECT [SERVER.pid_astatus[07]][0]].F_CV.Value]] FROM ihTrend]
Run Code Online (Sandbox Code Playgroud)
我不得不逃脱列逃脱:)
你只需要逃避这些 ]
[pid_astatus[07]][0]].F_CV.Value]
Run Code Online (Sandbox Code Playgroud)
这适合我
CREATE TABLE #t(
[pid_astatus[07]][0]].F_CV.Value] int
)
SELECT [pid_astatus[07]][0]].F_CV.Value]
FROM #t
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3420 次 |
| 最近记录: |