为了这个问题,让我们假设我有一个String包含值Two;.Three;.Four(等等),但元素是分开的;..
现在我知道有多种方法可以分割字符串,例如split()和StringTokenizer(更快的一个并且运行良好),但我的输入文件大约是1GB,我正在寻找比它更有效的东西StringTokenizer.
经过一些研究,我发现indexOf并且substring非常有效,但这些示例只有单个分隔符,或者结果只返回一个单词/元素.
示例代码使用indexOf和substring:
String s = "quick,brown,fox,jumps,over,the,lazy,dog";
int from = s.indexOf(',');
int to = s.indexOf(',', from+1);
String brown = s.substring(from+1, to);
Run Code Online (Sandbox Code Playgroud)
上面的工作用于打印,brown但我如何使用indexOf和substring分割具有多个分隔符的行并显示如下所有项目.
预期产出
Two
Three
Four
....and so on
Run Code Online (Sandbox Code Playgroud) 我有一个存储过程,nvarchar但它会进入查询的一部分,如下所示:
Input Parameter @InputQuery = '21 OR RevenueAccrualID = 22'
Run Code Online (Sandbox Code Playgroud)
我想将输入查询添加到现有查询中:
UPDATE [RevenueAccrual] SET Posted=1
Where [RevenueAccrual].RevenueAccrualID = @InputQueryPart
Run Code Online (Sandbox Code Playgroud)
我想要的输出是:
UPDATE [RevenueAccrual] SET Posted=1
Where [RevenueAccrual].RevenueAccrualID = 21
OR RevenueAccrualID = 22
Run Code Online (Sandbox Code Playgroud)
目前,它的作用是:
UPDATE [RevenueAccrual] SET Posted=1
Where [RevenueAccrual].RevenueAccrualID = '21 OR RevenueAccrualID = 22'
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种方法可以将查询作为参数传递并在SQL Server中使用它。输入查询将根据情况而有所不同。