问题标签 [charindex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3341 浏览

sql-server - SQL 解析出多个子字符串

我有一个非常长且复杂的字符串,带有新的换行符 - 我很难解析。我需要能够为以下每个字段创建一个包含一列的选择查询。

理想的情况是找到new line break- 对于每一行 - 回到:冒号之前的所有内容应该是列的名称,并且之间的所有内容都:应该new ling break是字段中的数据。

所有数据都作为字符串返回,所以我只是为下面的每一行构建一个 select 语句。我不确定这是否可能。

第二种选择,硬编码并说出类似CHARINDEX ( 'Home Phone:' ,notes, 0)Where I find the home phone string 之类的内容,然后在指定字符串之后拉出 the:和after 之间的所有内容。new ling break

在这种情况下,我的查询中的每个选择项都会说 - 查找字符串“家庭电话”并提取冒号后面的内容,或者查找字符串“学校名称”等。

这就是数据的样子(在一个名为 的所有字符串中notes):

所以输出看起来像这样(在每个字段中都回答了所有长问题)。

我不确定这是否有意义 - 但任何和所有建议都非常感谢。

提取子字符串和新行字符的代码——但这是硬编码的。我不知道如何动态地做到这一点。

谢谢!

0 投票
1 回答
892 浏览

sql-server - 将单列(和多行)中的字符串拆分为 SQL Server 中的多列(存在缺失数据)

以下是我的数据的样子:

在一列和几行中:

我正在尝试这样拆分:

我正在处理这段代码:

我收到相同的错误消息:

我尝试了使用 Internet 上已经存在的语法子字符串和 charindex、parsename 等的其他代码,但它们不起作用。我认为这是因为我试图将字符串拆分为许多列并且缺少需要考虑的数据。

请帮我!!!!

谢谢!!

0 投票
1 回答
35 浏览

sql-server - 用空格正确分割字符串列

在我的查询中,我有数百条来自 iSeries 消息队列的字符串记录,如下所示:

我需要在我的结果中显示帐号部分12345678和余额部分17017362

我努力了:

我可以很容易地获得帐户,因为字符串的长度是固定的,直到余额,但是我需要拆分返回的字符串SUBSTRING(MQ_Message,92,30)并从中取出余额部分,这部分在099999917017362之间可能会有所不同(在便士!)

在尝试了使用 CHARINDEX 的所有可能组合后,我真的很难保持平衡。

做这个的最好方式是什么?

0 投票
0 回答
14 浏览

sql - 如何在 WHERE 子句 SQL 中使用 CHARINDEX 更改 IN 运算符

我有这些查询:

我想使用 Charindex 进行更改:

但是@DocumentID='3,4,5'的值。在这种情况下,我不知道如何使用 CHARINDEX。有人可以帮忙...谢谢

0 投票
2 回答
52 浏览

sql-server - 跨多列拆分文本 - SQL Server

例子:

可以创建一个正则表达式或其他东西来将文本分成列吗?

等于这张表:

我尝试了一些查询,但总是在某些时候中断:

而且我不知道为什么charindex不工作0:0:0

编辑:

此查询根据日期值起作用:

因为这条线G31450 /1129 GIG POA 11/4/2015 0:0:0 G31278 GIG POA 11/4/2015 0:0:0 MOVE运作良好。departureand总是有 3个arrival字符,但日期有时有 10、9 或 8 个字符,例如 1/1/2016 = 8 和 10/12/2016 = 10 个字符,我相信我必须考虑空格,但我不知道该怎么做。

0 投票
1 回答
43 浏览

sql - 内部连接中的 Charindex 影响性能

我有一个具有以下查询的程序,

table1 有近 36,000 行,查询需要近 40 秒来加载结果集。

a.column 上安装了 fts 索引,它是 xml 数据类型。

我尝试拆分连接,但结果因分组而异。

如何重写此查询以使其更快?

0 投票
2 回答
40 浏览

string - 获取两个字符之间的字符串值

我需要获得介于 !03 和 !03 之间的值。

例子:

我应该得到以下字符串作为回报:20151104

注意:字符串并不总是 22 个字符长,但我只关心介于 !03 和 !03 之间的值。

这就是我到目前为止所拥有的。我无法取得比这更进一步的进展:

0 投票
3 回答
2434 浏览

sql - CHARINDEX 带整数

嗨,我有一个选择,它在我在 varchar 列上使用 CHARINDEX 时效果很好,但是当我在整数列上尝试它时,我收到以下错误;

参数数据类型 int 对 charindex 函数的参数 1 无效。

下面我列出了这两个查询。

stremail 是整数中的 varchar intEmployeeID

任何帮助将是最伟大的。

0 投票
4 回答
2574 浏览

sql - 在更新语句中传递给 RIGHT 函数的长度参数无效

如果我尝试同时设置两列,有人知道为什么我的更新不起作用吗?

如果我只更新一列来运行查询,那么它会按预期工作。如果我同时运行两者,我会得到以下错误:

我知道当 CHARINDEX 返回 0 时会发生这种情况,但我试图用 WHERE 子句来控制它。

0 投票
0 回答
228 浏览

sql - SQL CHARINDEX、SUBSTIRNG、PARSENAME 性能更好

我有一张桌子[Evetns]- 行

我有另一个表格,其中包含期间集作为DateRange类型

所以结果是

事件日期为 25/12/2000 的事件样本位于期间数据的一个范围内。

为此,我创建了一个函数 GetRange(),如下所示

该函数从事件表中接收日期并将其传递给返回和 int 值的上述函数,我正在使用如下函数,

结果集满足要求,但需要一些建议以获得更好的性能。应该使用哪个?

  • 哪个函数对性能 CHARINDEX、SUBSTIRNG 或 PARSENAME 有好处?

  • 批量记录是个好主意吗?

任何建议将不胜感激。