问题标签 [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.
sql - CHARINDEX 在搜索 thorn(字符 254)时在某些 COLLATION 中返回错误的结果
概述
CHARINDEX
在使用如下排序规则时偶尔会返回错误的值:
但适用于如下排序规则:
在 MS SQL Server 2008 R2 和 SQL Server 2016 上遇到过这种情况。
例子
假设数据库排序顺序为:
print CHARINDEX( CHAR(254), 'Tþ' )
-- 返回正确的 2print CHARINDEX( CHAR(254), 'Th' )
-- 返回错误的 1print CHARINDEX( CHAR(253), 'Th' )
-- 返回正确的 0print CHARINDEX( CHAR(254) Collate SQL_Latin1_General_CP1_CI_AS, 'Thþ' Collate SQL_Latin1_General_CP1_CI_AS)
-- 返回正确的 3print CHARINDEX( CHAR(254) Collate Latin1_General_CI_AS, 'Thþ' Collate Latin1_General_CI_AS)
-- 返回错误的 1
Latin1...
排序规则是否存在已知错误?
sql-server - 子字符串 (...,...,CHARINDEX(....)-0.5) 函数
我在名为 的列中有这个字符串Parent_ID
。那里存在的字符串示例:
我想要的是得到:
没有/B1
当我写这段代码时:
我收到了这个错误:
“消息 537,级别 16,状态 3,第 1 行传递给 LEFT 或 SUBSTRING 函数的长度参数无效。”
测试后我不小心改成-1
它-0.5
工作正常。
有人可以解释为什么吗?!请注意,上面给出的主字符串不包含任何空格。
string - 如何使用 CHARINDEX 和 SUBSTRING 提取第二个和第三个“_”之间的特定文本?
如何编写 SQL 脚本以从“Email_Transport_Cabforce_NEB_Fallback_LB”中获取“Cabforce”?
我在下面找到了获取第一个 _ 和最后一个 _ 之间的所有单词的解决方案,但未能将其转换为第二个 _ 和第三个 _ 之间的字符串。
sql - Patindex 和 Charindex 给我的不仅仅是我想要的
我有一个字符串:
我想返回 Y 之后的数字并具有以下 SQL(例如):
但我得到的结果是:
当然最后的 CHARINDEX 应该给我表达式直到第一个空格?我怎样才能调整它,以便我只得到 Y 之后的数字?
sql-server-2008 - 删除 () SQL 之间的字符
我需要从 SQL 中的字符串值中删除特定文本。
我尝试了各种组合CHARINDEX
,LEN
但总是出错!
我有一个名称字段,其中包含名称。一些字段中()
添加了文本。
例子 :
我需要删除括号内的整个部分。以及括号本身。不幸的是,有时该值可能是
所以我不能从一(
开始就删除所有东西!
sql - 检查 SQL Server 的列中是否包含一组值
我正在尝试检查某个列是否具有以下内容:
这适用于测试Value A
;现在我想检查多个值。例如,我想检查是否Name
匹配任何Value A
, Value B
, Value C
。CHARINDEX
一次只允许一个。
有办法做到这一点吗?
sql - 从字符串中获取多个“,”位置的 SQL 查询
我有 5 行数据,如下所示
现在我需要从我的输入字符串中找到每个“,”的位置。
我的输出应该是这样的:
sql-server - 从表中的列中提取 & -- & 之间的所有内容
我有表中列的值,我需要精确字符串的某些部分
现在我必须从第一个 & 中提取,即
你能帮我用子字符串函数从提到的值列中提取这些部分吗?
提前致谢。
sql - 使用子字符串提取文件路径
我正在尝试提取文件名(已成功),然后在其自己的列中提取每个文件路径目标。
示例文件路径:mps://Global/Test/Health/Reports/file.html
预期结果(在四个单独的列中):
我的实际结果(只有两列):
我的查询:
我一直在试图弄清楚如何在各自的列中提取每个“/”之间的每个路径。我已经为四个单独的列尝试了许多 charindex 更改,但是在摆脱字符串的左侧和右侧时遇到了麻烦。有任何想法吗?
sql - 如何搜索字符串并仅返回数值?
我需要创建一个公式列。在此列中,我需要返回一个数值。
例子:
database.dbo.table1 有一个名为“message”的列,其中包含一条长消息。
消息的格式如下:various words, characters, spaces <this document is> document# = 12345 <this document is>
我需要做的是搜索消息,找到“this document is”并在这两个短语之间搜索文档的数值,在公式列中返回文档#。