问题标签 [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 投票
2 回答
1051 浏览

sql - CHARINDEX 在搜索 thorn(字符 254)时在某些 COLLATION 中返回错误的结果

概述

CHARINDEX在使用如下排序规则时偶尔会返回错误的值:

但适用于如下排序规则:

在 MS SQL Server 2008 R2 和 SQL Server 2016 上遇到过这种情况。

例子

假设数据库排序顺序为:

  • print CHARINDEX( CHAR(254), 'Tþ' )-- 返回正确的 2
  • print CHARINDEX( CHAR(254), 'Th' )-- 返回错误的 1
  • print CHARINDEX( CHAR(253), 'Th' )-- 返回正确的 0
  • print CHARINDEX( CHAR(254) Collate SQL_Latin1_General_CP1_CI_AS, 'Thþ' Collate SQL_Latin1_General_CP1_CI_AS)-- 返回正确的 3
  • print CHARINDEX( CHAR(254) Collate Latin1_General_CI_AS, 'Thþ' Collate Latin1_General_CI_AS)-- 返回错误的 1

Latin1...排序规则是否存在已知错误?

0 投票
1 回答
132 浏览

sql-server - 子字符串 (...,...,CHARINDEX(....)-0.5) 函数

我在名为 的列中有这个字符串Parent_ID。那里存在的字符串示例:

我想要的是得到:

没有/B1

当我写这段代码时:

我收到了这个错误:

“消息 537,级别 16,状态 3,第 1 行传递给 LEFT 或 SUBSTRING 函数的长度参数无效。”

测试后我不小心改成-1-0.5工作正常。

有人可以解释为什么吗?!请注意,上面给出的主字符串不包含任何空格。

0 投票
2 回答
737 浏览

string - 如何使用 CHARINDEX 和 SUBSTRING 提取第二个和第三个“_”之间的特定文本?

如何编写 SQL 脚本以从“Email_Transport_Cabforce_NEB_Fallback_LB”中获取“Cabforce”?

我在下面找到了获取第一个 _ 和最后一个 _ 之间的所有单词的解决方案,但未能将其转换为第二个 _ 和第三个 _ 之间的字符串。

0 投票
2 回答
216 浏览

sql - Patindex 和 Charindex 给我的不仅仅是我想要的

我有一个字符串:

我想返回 Y 之后的数字并具有以下 SQL(例如):

但我得到的结果是:

当然最后的 CHARINDEX 应该给我表达式直到第一个空格?我怎样才能调整它,以便我只得到 Y 之后的数字?

0 投票
1 回答
4009 浏览

sql-server-2008 - 删除 () SQL 之间的字符

我需要从 SQL 中的字符串值中删除特定文本。

我尝试了各种组合CHARINDEXLEN但总是出错!

我有一个名称字段,其中包含名称。一些字段中()添加了文本。

例子 :

我需要删除括号内的整个部分。以及括号本身。不幸的是,有时该值可能是

所以我不能从一(开始就删除所有东西!

0 投票
1 回答
969 浏览

sql - 检查 SQL Server 的列中是否包含一组值

我正在尝试检查某个列是否具有以下内容:

这适用于测试Value A;现在我想检查多个值。例如,我想检查是否Name匹配任何Value A, Value B, Value CCHARINDEX一次只允许一个。

有办法做到这一点吗?

0 投票
2 回答
967 浏览

sql - 从字符串中获取多个“,”位置的 SQL 查询

我有 5 行数据,如下所示

图 1

现在我需要从我的输入字符串中找到每个“,”的位置。

我的输出应该是这样的:

图 2

0 投票
2 回答
40 浏览

sql-server - 从表中的列中提取 & -- & 之间的所有内容

我有表中列的值,我需要精确字符串的某些部分

现在我必须从第一个 & 中提取,即

你能帮我用子字符串函数从提到的值列中提取这些部分吗?

提前致谢。

0 投票
3 回答
290 浏览

sql - 使用子字符串提取文件路径

我正在尝试提取文件名(已成功),然后在其自己的列中提取每个文件路径目标。

示例文件路径:mps://Global/Test/Health/Reports/file.html

预期结果(在四个单独的列中):

我的实际结果(只有两列):

我的查询:

我一直在试图弄清楚如何在各自的列中提取每个“/”之间的每个路径。我已经为四个单独的列尝试了许多 charindex 更改,但是在摆脱字符串的左侧和右侧时遇到了麻烦。有任何想法吗?

0 投票
2 回答
219 浏览

sql - 如何搜索字符串并仅返回数值?

我需要创建一个公式列。在此列中,我需要返回一个数值。

例子:

database.dbo.table1 有一个名为“message”的列,其中包含一条长消息。

消息的格式如下:various words, characters, spaces <this document is> document# = 12345 <this document is>

我需要做的是搜索消息,找到“this document is”并在这两个短语之间搜索文档的数值,在公式列中返回文档#。