在临时表中插入dbo.split数据

时间:2017-05-29 07:14:04

标签: sql sql-server-2008

我想使用dbo.split并将数据插入临时表。请更正以下查询。

DropDownList ddl = new DropDownList();
ddl.Items.AddRange(new[]
{
    new ListItem("--Select Me--", "0"),
    new ListItem("I'm the first", "1"),
    new ListItem("I'm the second", "2"),
    new ListItem("I'm the third", "3")
});

抛出错误消息:

找不到列“dbo”或用户定义的函数或聚合“dbo.Split”,或者名称不明确

1 个答案:

答案 0 :(得分:2)

Split不是SQL Server的一个功能。 有一个函数'STRING_SPLIT',但只有在兼容级别为130时才在数据库中可用。
https://docs.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql

您可以创建自己的分割功能。检查以下链接

Split function equivalent in T-SQL?

http://www.sqlservercentral.com/blogs/querying-microsoft-sql-server/2013/09/19/how-to-split-a-string-by-delimited-char-in-sql-server/

修改

@AjayPrajapati 如果你已经在数据库中定义了这个函数,那么可能是你使用它错了。 请检查Split是否为表值函数。如果是,那么可能是你错了。

  

选择dbo.Split('002,003,004',',')到#Temp

根据您的查询,您正在选择一个列(它期望来自标量值函数的值),但如果您的函数返回表,那么您需要从函数中选择列。

试试这个

  

从dbo.Split('002,003,004',',')中选择*进入#Temp