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

sql - SQL-从包含字符串的列中只选择数字

我有一个这样的表(第一列包含 id,第二列是 varchar,其中包含字符串(一些公式)) -

现在需要一些查询,它将给出如下输出 -

依此类推..(只有小于 4 位的数字除外,如 1.205 左右.. 和 1000)

在这个上使用 patindex 非常困难

any1可以给我一个解决方案吗

0 投票
0 回答
62 浏览

sql - 带有“AA”字符串的 T-Sql 2008 PatIndex 错误

我在 SQL2008 上运行此代码以从字符串中删除非字母数字字符:

它工作得完美无缺,但现在我得到了字符串,其中包含“AA”部分:

返回

我期待

我尝试过使用其他重复字符没有问题 - 但也可以用 aa 重现。

有没有人有提示故障排除?

0 投票
2 回答
272 浏览

sql-server - SQL Server - 将 Table1 连接到 Table2 ON substring(T1.Field) = T2.ID

我有两个表:MyOrders 和 MyDrivers。

在 MyOrders 表中,我有一个名为 Details 的列(数据类型 TEXT - 我知道,但我没有构建数据库......)

在 MyOrders.Details 中,有时会有逗号分隔的数值列表,这些数值对应于表 MyDrivers 的 ID 值。

目标是使用这些列表将 MyOrders 加入 MyDrivers。

例如:

此处所需的结果是,对于 MyOrderID 1,我将收到 5 行结果:在同一订单的详细信息列表中分配给该订单的五个驱动程序中的每一个都有一个。如果没有列表 (NULL, '', ' ', ' ') 那么我不希望返回任何行。**有时用户会删除此字段中的值并留下空格,所以我假设我必须使用 TRIM。但他们总是添加必要的逗号,所以至少有那个......

我不知道该怎么做;我在 SQL 方面还有很多东西要学。任何有用的提示/想法将不胜感激。

非常感谢您!

0 投票
1 回答
107 浏览

sql-server - SQL 服务器和 patindex 意外结果

我正在尝试使用 NANP 格式验证电话号码。

我正在使用此代码

但不能按预期工作,一些应该有效的数字(如 +14104536330)与表达式不匹配。

我用示例代码创建了一个SQL Fiddle 。我的 patindex 表达式有什么问题?

0 投票
2 回答
937 浏览

php - Determine the position of a special character in the string in PHP

I have to determine the position of a special character in the string for example:

E77eF/74/VA on 6 and 9 position (counting from 1) we have '/' so I have to change them to position number -> E77eF6749VA

On MSSQL I could use PATINDEX but I need to use php for this. It should work for everything except 0-9a-zA-Z

I found strpos() and strrpos() on php.net but I doens't work well for me. Anyway tries to do something like that?

0 投票
1 回答
3086 浏览

sql - sql查找字符串中的最后一个非数字字符

如何在“10jnklgm51”等字符串中查找最后一个非数字字符。为了在示例中找到“m”,最好的简单方法是什么?

0 投票
1 回答
49 浏览

sql - SQL Server 比较数据并一起替换

我有两个字符串如下:

我只想从下面的字符串替换 * 位置

所以结果可能是:

有什么方法可以优雅地解决使用 SQL Server 函数的问题吗?

我已经在下面使用了。

但这需要很多。

我想知道是否有任何简单的方法可以替换它。

0 投票
1 回答
54 浏览

string - 在字符串中的字符之前选择第一个 int

添加到此论坛响应背后的逻辑,我将如何选择字符串中具有特定尾随字符集的第一个 int?换句话说,我想从“这东西长15英寸!”中提取“15英寸”。

我已经尝试了以下(基于答案)......

...但它只会从示例字符串中提取“5 in”,而不是“15 in”。所以,我不仅需要整个 int 值(这个脚本的最初目的是在字符串中找到第一个完整的 int 值),而且我需要字符串中“in”之前的整个 int 值。

我知道这是一个潜在的重复帖子,一旦我获得足够的声誉,我会将其作为评论添加到原始论坛的答案中,然后在需要时删除此帖子。

0 投票
2 回答
122 浏览

sql - sql查询返回与搜索键匹配的结果,但也检索在搜索键之后按字母顺序排列的记录

标题很拗口,但我发现很难解释。

我以前有一个 Web 服务,它允许用户输入搜索键,例如 4,然后返回以该搜索键开头的记录,例如 4、4a、4b。

现在我被要求实现一个解决方案,如果用户键入 4,它将返回结果:

50 条记录。

我不确定从哪里开始更改查询...正在搜索的 col 是字母数字,这是令人困惑的一点。

查询本身超过 20 行,但将结果链接到搜索键的部分只是;

根据要求,订购是:

例如,现在如果我传入 82,我会得到结果:

但是我需要的是,如果用户输入 82,他们不会收到 8、8x、9、9x 等结果。

0 投票
0 回答
1529 浏览

tsql - T-SQL 选择检查非英语 (Latin1) 字符的列

我的数据库上的默认语言设置为SQL_Latin1_General_CP1_CI_AS.

我希望返回name字段包含其他语言字符的结果,例如阿拉伯语或中文):

阿尔布拉 ابومحمد

我在 WHERE 子句中尝试了以下代码,但结果集始终为空:

  1. a.Name NOT LIKE '%[^A-z]%'
  2. PATINDEX('%[A-Z,0-9]%',a.Name) > 0

  3. ASCII(a.Name) NOT BETWEEN 65/* A */ and 90/* Z */ AND ASCII(a.Name) NOT BETWEEN 97 /* a */ AND 122 /* z */

  4. a.Name COLLATE SQL_Latin1_General_CP1_CI_AS NOT LIKE '%[^0-9a-zA-Z]%'

更新

我使用的是 SQL Server 2012(不是 SQL Server 2005。)我尝试了接受答案中的代码“如何在 sql server 2005 中选择包含非英语字符的行(它应该只过滤非英语字符,而不是特殊字符) characters) " 但它不适用于我的数据库。