【发布时间】:2012-02-07 11:14:26
【问题描述】:
我有返回表格的自定义函数 它接受两个 varchar,它根据分隔符拆分 varchar
SELECT VALUE FROM dbo.Split('xxx','_') --- working
select abc from abcd a,cde b where a.abc like (SELECT VALUE FROM dbo.Split(b.abc,'_'))-- not working
select abc from abcd a,cde b where a.abc like (SELECT VALUE FROM dbo.Split('xx','_'))-- working
select abc from abcd a,cde b where a.abc like (SELECT b.abc)-- working
如何让不工作的案例发挥作用。
错误我明白了 '.' 附近的语法不正确。
【问题讨论】:
-
我确定你也想问一个问题...?
-
表b中abc的列类型是什么?
-
@MikaelEriksson 他想知道为什么这种情况不起作用,请检查 cmets。
-
我们可以看看你的
dbo.Split()函数代码 -
如果您使用一些导致错误的示例数据更新您的问题,并且请添加错误消息,这将有所帮助。我猜你会得到类似“子查询返回超过 1 个值。”的东西。尝试将
like改为in。它可能会做你想做的事。
标签: sql sql-server-2008 sql-server-2005 user-defined-functions