我正在使用SQL Server数据库.我有一个包含分隔列表的列,我需要编写一个查询,将列表的值拆分为行.从浏览StackOverflow和网络的其余部分,我知道这是一个常见的问题.事实上,我在这里找到了一个广泛的分析:
http://www.sommarskog.se/arrays-in-sql.html
不幸的是,我在该网站和其他地方看到的每个解决方案都要求我创建一个功能.这不是我的选择 - 我缺乏使用CREATE命令所需的权限.
没有CREATE,我知道我可以使用PARSENAME函数,就像这样(感谢Nathan Bedford 如何分割字符串以便我可以访问项目x?):
SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2)
Run Code Online (Sandbox Code Playgroud)
但是,PARSENAME仅适用于4个或更少项目的列表.因此,我的问题是:如何在不在数据库中创建新对象的情况下编写查询来拆分超过4个项目的分隔字符串?
编辑:
感谢大家的快速解答.我可能遗漏了一些重要信息 - 我通过ODBC连接与数据库进行交互.除了CREATE语句之外,似乎还有其他语句不起作用.例如,我似乎无法在一个语句中使用DECLARE来定义将在另一个语句中使用的变量.尽可能接近我的想法,我必须将所有内容都放在一个SELECT语句中(尽管WITH似乎也适用于声明公共表).不幸的是,到目前为止所提出的所有解决方案似乎都需要在SELECT语句之外进行变量声明,而这是不起作用的.请忍受我 - 我正在学习.
我正在VB.Net中创建一个WPF应用程序.我试图决定我的启动代码应该去哪里.我似乎有两个选择:
启用或禁用应用程序框架的含义是什么?为什么应用程序框架限制了我对启动选项的选择?
-TC