我想使用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”,或者名称不明确
答案 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