问题标签 [patindex]

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 投票
16 回答
277684 浏览

tsql - 选择查询以删除非数字字符

我在具有可变 alpha 长度的列中有脏数据。我只想去掉任何不是 0-9 的东西。

我不想运行函数或过程。我有一个类似的脚本,它只是在文本之后获取数值,它看起来像这样:

我认为它会很好地工作,直到我发现一些我认为只是格式为 Alpha #12345789 的数据字段不是。

需要剥离的数据示例

我只想要 123。确实,所有数据字段在数字之前都有 #。

我尝试了 substring 和 PatIndex,但我并没有完全正确地获得语法或其他东西。有人对解决此问题的最佳方法有任何建议吗?

0 投票
1 回答
2412 浏览

c# - C# 等效于 SQL Server 2008 中的 PATINDEX 函数

我有以下 SQL Server 代码,我想在 C# 代码中执行这些代码。逻辑是 - 如果在名为 'x' 的字符串中找到模式 '%SELECT %FROM%,那么我需要返回。'%' 代表 0 个或多个字符。

我没有得到的部分是如何将第一行代码翻译成 C#?

0 投票
1 回答
10869 浏览

sql - 如何使用 patindex 从 sybase 中的字符串中删除特殊字符

我的数据由特殊字符组成,但我的输出不应显示该特殊字符或 ascii 字符。我只需要字母数字和空格,所有其他字符都应替换为 null 。请建议一些方法来处理这个我开始知道 patindex 可以正常工作,但我不确定它是否会替换字符串中的多个字符

0 投票
1 回答
334 浏览

sql-server - 通过模式从查询中替换列

如何替换字符串中的所有列

在上面的示例中,我必须在 @sqlText 中搜索列 abc 和 xyz 并将它们全部替换为 1=1

所以最终输出应该看起来像

我试图这样做,但似乎替换功能不适用于模式,它也只能用于第一次查找。abc 和 xyz 列可能会在语句中出现多次。

任何帮助

编辑

我试过这个,但它没有给我正确的结果

0 投票
1 回答
568 浏览

vb.net - 需要将带有 PATINDEX 的 SQL 标量值函数转换为 VB 等效函数

长期读者,第一次海报。提前为文字墙道歉。

简短版本:我需要知道如何使用 VB 的 Instr(或其他一些 VB 函数)来搜索字符串并返回该字符串中三个符号中任何一个符号的第一次出现的索引。这三个符号中的任何一个都可以在字符串中以任意顺序出现任意次数。在 Tsql 中,我会使用 PATINDEX 搜索字符串

#、$ 和 @ 是我需要查找的单个符号。注意:这些是替换 - 使用“IRL”的实际符号在我的 stackOverflow 帖子中引起了问题。

长版:我写了一个 Tsql 函数,它接受一个日期(保修开始日期)、一个带有来自应用程序的符号和数字的特殊字符串,以及一些其他必要的输入,然后遍历“特殊字符串”并执行 X 号的 DATEADD 操作,最终返回保修结束日期。问题是我需要这个日期来报告数据库仓库并像这样为每一行调用函数太慢了。我想将整个函数移动到 SSIS 包中的脚本任务中,该包首先加载数据,因此计算可以在内存中完成,只需执行一次。这是参考的TSQL函数:

我对 VB.net 有一定的了解,而且我确信只需稍加努力和大量搜索 stackoverflow,我就可以将 TSQL 函数的其余部分转换为 VB 等效函数。但我坚持如何重写该 PATINDEX 语句。

0 投票
2 回答
321 浏览

sql-server - 使用 patindex 解析列以翻转名称

所以我有一个客户数据库。我运行SELECT * FROM MyTable它给了我几列,其中之一是名称。看起来像这样:

等等。有些是姓氏,名字。其他是名字姓氏。

我的老板要我把名字倒过来,这样他们就都排在第一位了。

所以我运行了这个:

问题是,当我运行它时,它只会运行名称,直到找到不需要翻转的名称。所以在上面的例子中,它只会给我前四个名字,而不是全部。

有人建议我可以使用PATINDEX()来提取所有名称。我不知道如何使用它,希望我能得到一些帮助。

0 投票
2 回答
186 浏览

sql - 从存储的过程定义中提取字符串

我需要检查几个从远程服务器提取数据的存储过程使用的库。

我(在 SO 帮助下,请参阅SO 21708681)构建了以下代码:

在每个目标存储过程中都有这样的一行:

我需要知道每个存储过程的“LIVEBOC_A”部分(可以是“LIVEBOC_A”或LIVEBOC_B)

我尝试使用 PATINDEX 和 CHARINDEX 来获取定义中该字符串的起始 opf 的位置,sysmodules但我得到的只是零或字符串或二进制数据将被截断的错误。

0 投票
1 回答
57 浏览

sql - 带 Len 的 SQL 选择 - 转换失败?

这是我的查询:

当我运行它时,出现错误“将 nvarchar 值 'XXX' 转换为数据类型 int 时转换失败”(xxx 是我必须替换的实际值)。有人可以帮忙吗?附言。我希望该声明正确地进入了代码块。显然,我不明白如何正确粘贴代码。

谢谢!

0 投票
2 回答
1546 浏览

sql - 用于过滤的 SQL PATINDEX 模式

我正在尝试过滤用作 Outlook 邮件主题行的字符串。我使用过滤器 b/c 一些具有特殊字符的字符串会将主题行转换为我想要阻止的 Unicode。我正在尝试使用 PATINDEX,但无法将括号放入模式中,有没有人知道如何做到这一点和/或有一个好的网站可以分享为 PATINDEX 创建模式的指南。这是我所拥有的:

正如你所看到的,因为我不知道如何在模式中获得括号,所以现在我用括号替换它们。

0 投票
2 回答
430 浏览

sql-server - Transact-SQL 整理不起作用

我正在尝试像这样使用PATINDEX函数:

我预计它会返回 9,但它会返回 2。有人能告诉我有什么问题吗?我还尝试在第一个参数中提供 collat​​e 并使用 Latin1_General_CS_AS 而不是 Cyrrilic - 结果相同。