当前位置: 首页 > 面试题库 >

SQL Server 2008查询以查找列中包含非字母数字字符的行

成浩漫
2023-03-14
问题内容

实际上,几周前有人问我自己,而我确切地知道如何使用SP或UDF来执行此操作,但是我想知道是否有没有这些方法的快速简便的方法。我假设有,但我找不到。

我需要说明的一点是,尽管我们知道允许使用哪些字符(az,AZ,0-9),但我们 不想指定 不允许使用的字符(#@!$等…)。另外,我们希望拉出
包含 非法字符的行,以便可以将其列出给html" target="_blank">用户修复(由于我们无法控制输入过程,因此此时无法执行任何操作)。

之前,我已经浏览过SO和Google,但找不到能满足我要求的内容。我已经看到了许多示例,这些示例可以告诉您它是否包含字母数字字符,但是可以在查询形式中找不到的句子中加上撇号。

另请注意,此列中的值可以是null''(空)varchar


问题答案:

这不是吗?

SELECT * FROM TABLE
WHERE COLUMN_NAME LIKE '%[^a-zA-Z0-9]%'

设置

use tempdb
create table mytable ( mycol varchar(40) NULL)

insert into mytable VALUES ('abcd')
insert into mytable VALUES ('ABCD')
insert into mytable VALUES ('1234')
insert into mytable VALUES ('efg%^&hji')
insert into mytable VALUES (NULL)
insert into mytable VALUES ('')
insert into mytable VALUES ('apostrophe '' in a sentence')

SELECT * FROM mytable
WHERE mycol LIKE '%[^a-zA-Z0-9]%'

drop table mytable

结果

mycol
----------------------------------------
efg%^&hji
apostrophe ' in a sentence


 类似资料:
  • 所以我一辈子也想不出来。我正在尝试编写一个程序,提示用户输入电话号码。这将作为字符串输入,并在稍后的程序中转换为整数数组。然而,我现在遇到的情况是验证用户输入的字符串是否仅限于!!!包含2-9之间的数字。我已经尝试了。Contains方法和。Match方法,但是使用这些方法总是提供错误的结果。如果有人能提供一些关于如何解决这个问题,我将非常感谢。提前感谢。 以下是我目前掌握的信息:

  • 我试图检查String arrayList中的某个字符串是否包含Character arrayList中的所有字符。 这就是我目前正在尝试的: 这是我运行程序时遇到的错误: 错误来自这一行: 如果有人对如何解决这个问题有任何建议,我将不胜感激!

  • 我的Firebase查询有点麻烦。我想查询objects,其中objects子值包含某个字符串。到目前为止,我有一些东西看起来是这样的: 但这只给出起始值为“b”的对象。我想要包含字符串“b”的对象。我该怎么做?

  • 我能够通过使用下面这个问题的注释提供的代码来解决这个问题。所有其他帖子都是有效的! 我使用的有用的东西来自第一个评论。虽然提供的所有示例代码似乎也是有效的!

  • 问题内容: 我一直在尝试找出如何使用MySQL进行查询的方法,该查询检查特定列中的值(字符串)是否包含某些数据(字符串),如下所示: 在PHP中,该函数称为,因此可能: 问题答案: 实际上很简单: 的是用于设置任何字符(无,一个或多个)的通配符。请注意,这在非常大的数据集上可能会变慢,因此,如果数据库增长,则需要使用全文索引。

  • 我们如何在字符串列表中找到字母或特殊字符?我有一张单子,想看看里面有没有特别的字母。我试着去做,但出了一个错误。 代码: 获取错误: 我们不应该使用吗?或者,如果一个字符串有特殊的字母或特殊的字符,我们应该找到什么?