“。”附近的语法不正确在sql server表值函数中

时间:2012-01-05 20:25:30

标签: sql-server-2008

我正在尝试加入表值函数, 它给了我错误这个错误:

消息170,级别15,状态1,行2 第2行:'。'附近的语法不正确。

SELECT * from tbl t
inner join dbo.ufn_CSVToTable(t.text) a 
on t.text = a.String

错误是什么?

3 个答案:

答案 0 :(得分:6)

  1. 您需要CROSS或OUTER APPLY
  2. 您需要使用SQL Server 2005 +
  3. 大多数重要,database compatibility需要为90或更高

答案 1 :(得分:3)

尝试使用CROSS APPLY代替JOIN

SELECT * from tbl t
CROSS APPLY dbo.ufn_CSVToTable(t.text) a 
WHERE t.text = a.String

答案 2 :(得分:0)

也许尝试更明确一点 -

SELECT * from tbl
inner join dbo.ufn_CSVToTable(tbl.text) a 
on tbl.text = a.String