首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在SQL 2000/2005中执行区分大小写的搜索和替换?

在 SQL 2000/2005 中执行区分大小写的搜索和替换

SQL 2000/2005 不支持跨语言的全局变量或函数,区分大小写的搜索和替换必须直接在查询字符串(WHERE 子句和 ORDER BY 子句等)中手动键入关键字。以下是在 SQL 2000/2005 中执行区分大小写的搜索和替换的步骤:

  1. 检查表中的列是否区分大小写。SQL Server 默认将所有列都视为不区分大小写的。可以通过编辑表和列的定义(使用 T-SQL 或 Management Studio)或执行以下查询来确定列是否区分大小写:
代码语言:sql
复制
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE = 'VARCHAR' AND CHARACTER_MAXIMUM_LENGTH = 255;

如果该查询找到任何区分大小写的列,则需根据需要进行更改或启用大小写区分策略。

  1. 更新查询字符串以区分大小写:
代码语言:sql
复制
USE MASTER; -- 设定当前数据库为 MASTER,因为在其他数据库中,区分大小写的搜索和替换将仅适用于当前数据库
GO
-- 假设要搜索的产品名称为 PRODUCTION_1
SELECT *
FROM Production
WHERE ProductName LIKE 'PRODUCTION\_1';

这将会查找 PRODUCTION_1 是否存在于以 PRODUCTION 开头的任何列中。要使用关键字的大写形式,请在关键字之前添加 COLLATE 声明:

代码语言:sql
复制
GO
-- 使用 COLLATE 声明以区分大小写
SELECT *
FROM Production
WHERE ProductName LIKE 'PRODUCTION_1 COLLATE SQL_Latin1_General_CI_AS';

这将以区分大小写的形式查找 PRODUCTION\_1 是否存在于 PRODUCTION 字段中。SQL_Latin1_General_CI_AS 指定区分拉丁字符集和相应的大小写约定。

此外,还可以使用以下查询来检索已区分大小写的列:

代码语言:sql
复制
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE = 'VARCHAR' AND DEFAULT_ON_UPDATE_ATAL = 'YES';

请注意,这将返回所有列中带有 ON UPDATE DEFAULT 选项的不区分大小写的列。

  1. 如果您想将区分大小写的搜索和替换应用于查询结果,可以使用 CTE(公共表表达式):
代码语言:sql
复制
WITH Lowercases AS (
SELECT LOWER(ProductName) AS LowerCaseProduct
FROM Production
)
SELECT *
FROM Lowercases
WHERE LowerCaseProduct LIKE 'PRODUCTION\_1 COLLATE SQL_Latin1_General_CI_AS';

CTE 方法在查询结果中应用区分大小写的搜索,而原始查询则通过大写关键字进行筛选。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SQL函数 REPLACE

匹配区分大小写。如果找到匹配项,它将用 newsubstring 替换 oldsubstring 每个实例。替换子串可能比它替换子串长或短。...此函数提供与 Transact-SQL 实现兼容性。REPLACE, STUFF, and $TRANSLATEREPLACE STUFF 都执行子字符串替换。...REPLACE 按数据值搜索子字符串。 STUFF 按字符串位置长度搜索子字符串。REPLACE 执行单个字符串对字符串匹配替换。...$TRANSLATE 执行逐字符匹配替换;它可以用相应指定替换单个字符替换一个或多个指定单个字符所有实例。它还可以从字符串中删除一个或多个指定单个字符所有实例。...默认情况下,所有三个函数都区分大小写替换所有匹配实例。

2.1K10

mysql 必知必会整理—sql 正则表达

如果你想替换一个页面中所有URL为这些URL实际HTML链接,也可以使用一个正则表达式(对于最后这个例子,或者是两个正则表达式)。...下面进行举例: 上述通过正则表达查找出product name包含1000字符。 那么如果包含 1000,2000 注:里面只有1000 2000。...上面中查找出包含1000或者包含任意+000,那么是否能有like 一样以什么开头呢?例如:like '1000%' 在正则中也是有的,"^" 是以什么什么开头,"$"是以什么什么结尾。...匹配不区分大小写 MySQL中正则表达式匹配(自版本3.23.4后)不区分大小写(即,大写小写都匹配)。...为区分大小写,可使用BINARY关键字,WHERE prod_name REGEXP BINARY 'JetPack .000'。

1.3K20
  • 特殊变量 (SQL)

    这些变量包含系统提供值。只要可以在SQL中指定文字值,就可以使用它们。SQL特殊变量名不区分大小写。大多数可以使用缩写来指定。...ObjectScript 字符串操作区分大小写。字符串中字母可以转换为大写、小写或混合大小写。...字符串排序规则可以区分大小写,也可以不区分大小写;默认情况下,SQL 字符串排序规则是不区分大小写 SQLUPPER。 SQL 提供了许多字母大小写排序规则函数运算符。...%STARTSWITH 比较运算符将指定字符与字符串开头进行匹配。子串搜索替换以下函数在字符串中搜索子字符串并将其替换为另一个子字符串。...REPLACE:按字符串值搜索,用新子字符串替换子字符串。从字符串开头搜索。 STUFF:按字符串位置长度搜索,用新子字符串替换子字符串。从字符串开头搜索

    1.2K20

    Linux中Grep命令使用实例

    在本教程中,您将学习如何在Linux中使用非常重要grep命令。我们将讨论为什么此命令至关重要,以及如何在命令行中将其用于日常任务中。让我们深入了解一些解释示例。 目录 为什么我们使用grep?...zip文件中10个Grep电子邮件地址 Grep IP地址 Grep or条件 忽略大小写 搜索区分大小写 Grep精确匹配 排除模式 Grep替换 带行号Grep 显示之前之后行数 对结果排序...您可以通过告诉grep忽略-i开关情况来避免这种情况。 ? 忽略大小写 默认情况下,grep区分大小写,这意味着您必须精确搜索大写字符串。...搜索区分大小写 如果我们要搜索一个字符串,其中第一个可以是大写或小写,但字符串其余部分应该是小写怎么办?在这种情况下,无法使用-i switch 忽略大小写,所以一种简单方法是使用方括号。...您在屏幕截图中所见,当我们使用-v开关运行相同命令时,不再显示排除字符串 Grep替换 传递给sedgrep命令可用于替换文件中字符串所有实例。

    62.7K55

    SQL谓词 LIKE

    SQL谓词 LIKE 用包含字面值通配符模式字符串匹配值。...(根据SQL标准,NULL不被认为是一个0字符序列,因此不被这个通配符选中。) 在动态SQL或嵌入式SQL中,模式可以将通配符输入参数或输入主机变量表示为连接字符串,示例部分所示。...默认情况下,字符串数据类型字段是用SQLUPPER排序规则定义,它不区分大小写。 如果LIKE应用于具有SQLUPPER默认排序类型字段,则LIKE子句返回忽略字母大小写匹配项。...可以使用SQLSTRING排序规则类型执行区分大小写LIKE字符串比较。 下面的示例返回包含子字符串“Ro”所有名称。...默认情况下,LIKE字符串比较是不区分大小写: SELECT %ID,Name FROM Sample.Person WHERE Name LIKE '%son%' 下面的嵌入式SQL示例返回与前一个示例相同结果集

    2.3K30

    fd一个简单快速find命令替代方案

    正则表达式(默认)基于 glob 模式。 由于并行目录遍历,速度非常快。 使用颜色突出显示不同文件类型(与ls相同)。 支持并行命令执行 智能大小写:默认情况下搜索区分大小写。...如何在Linux中安装fd 我们将看看如何在不同Linux发行版中安装 fd 。 对于 Ubuntu Debian 发行版,您需要从发布页面下载最新fd版本并使用以下命令进行安装。...(git | fd)ignore 文件匹配 --no-ignore-vcs 不要忽略.gitignore文件匹配 -s, --case-sensitive 区分大小写搜索...(默认值:智能案例) -i, --ignore-case 不区分大小写搜索(默认值:智能案例) -F, --fixed-strings 将模式视为文字字符串 -a...{/}:将被搜索结果基本名称替换占位符 (01.jpg)。 {//}: 发现路径父目录 (rumenz/uploads)。 {/.}: 只有基名,没有扩展名 (01)。

    1.5K00

    fd一个简单快速find命令替代方案

    正则表达式(默认)基于 glob 模式。 由于并行目录遍历,速度非常快。 使用颜色突出显示不同文件类型(与ls相同)。 支持并行命令执行 智能大小写:默认情况下搜索区分大小写。...如果模式包含大写字符*,则切换为区分大小写。 默认情况下忽略隐藏目录和文件。 .gitignore默认情况下,忽略来自您模式。 命令名称比find短50% 。...(git | fd)ignore 文件匹配 --no-ignore-vcs 不要忽略.gitignore文件匹配 -s, --case-sensitive 区分大小写搜索...(默认值:智能案例) -i, --ignore-case 不区分大小写搜索(默认值:智能案例) -F, --fixed-strings 将模式视为文字字符串...{/}:将被搜索结果基本名称替换占位符 (01.jpg)。 {//}: 发现路径父目录 (rumenz/uploads)。 {/.}: 只有基名,没有扩展名 (01)。

    16510

    fd一个简单快速find命令替代方案

    正则表达式(默认)基于 glob 模式。 由于并行目录遍历,速度非常快。 使用颜色突出显示不同文件类型(与ls相同)。 支持并行命令执行 智能大小写:默认情况下搜索区分大小写。...如何在Linux中安装fd 我们将看看如何在不同Linux发行版中安装 fd 。 对于 Ubuntu Debian 发行版,您需要从发布页面下载最新fd版本并使用以下命令进行安装。...(git | fd)ignore 文件匹配 --no-ignore-vcs 不要忽略.gitignore文件匹配 -s, --case-sensitive 区分大小写搜索...(默认值:智能案例) -i, --ignore-case 不区分大小写搜索(默认值:智能案例) -F, --fixed-strings 将模式视为文字字符串...{/}:将被搜索结果基本名称替换占位符 (01.jpg)。 {//}: 发现路径父目录 (rumenz/uploads)。 {/.}: 只有基名,没有扩展名 (01)。

    1.3K10

    MyBatis处理模糊查询

    模糊查询是一种搜索数据方式,它允许您在不完全匹配数据情况下找到相应结果。模糊查询通常用于在大型数据集中查找数据,并且通常比精确匹配更具实用性。...例如,在一个包含大量文章数据库中,可以使用模糊查询查找所有包含特定关键字文章。MyBatis模糊查询示例让我们考虑一个简单例子来说明如何在MyBatis中处理模糊查询。...MyBatis模糊查询更多选项MyBatis还提供了其他选项来进一步定制模糊查询。以下是一些常用选项示例:区分大小写:默认情况下,LIKE操作符是不区分大小写。...如果您需要区分大小写,请在查询中使用BINARY运算符。...因此,如果您需要执行高性能查询,请避免过多使用模糊查询。SQL注入:模糊查询通常涉及将查询参数拼接到SQL语句中。请确保您查询参数已经过适当验证转义,以避免SQL注入攻击。

    1.8K10

    SQL注入过滤绕过

    preg_replace('A','B','C') # 执行一个正则表达式搜索替换 搜索C中符合A部分,然后用B来代替。...,因为sqlmappayload中SQL关键字默认是大写,而这里只过滤了小写,而且sqlmap也有专门随机大小写绕过脚本:randomcase.py 1742059555.png 3.不区分大小写过滤了...SQL关检词,无论大小写混合都会被过滤了。...3.2爆破SQL词看是否有关键词过滤了 这种对于不区分大小写过滤了关键词,我们首先需要判断过滤了哪些关键词,漏掉了哪些关键词,这个可以使用SQL关键词来进行爆破,看看哪些关键词没有被过滤,然后看看这些关键词可以利用哪些注入方式...这里我们绕过手段是让SQL语句执行大负荷查询(笛卡尔算积),由于大负荷查询需要计算大量数据,所以执行语句就会有延时效果。

    3.2K10

    SQL函数 $TRANSLATE

    它可以是字段名称、文字、主机变量或 SQL 表达式。 identifier - 要在字符串中搜索字符。它可以是字符串或数字文字、主变量或 SQL 表达式。...associator - 可选 — 与标识符中每个字符对应替换字符。它可以是字符串或数字文字、主变量或 SQL 表达式。描述$TRANSLATE 函数在返回值字符串中执行逐字符替换。...$TRANSLATE 区分大小写。$TRANSLATE 不能用于将 NULL 替换为字符。如果指定参数太少,则会发出 SQLCODE -380。...如果指定参数过多,则会发出 SQLCODE -381。$TRANSLATE and REPLACE$TRANSLATE 执行逐字符匹配替换。 REPLACE 执行字符串对字符串匹配替换。...默认情况下,这两个函数都区分大小写,从字符串开头开始,并替换所有匹配实例。 REPLACE 具有可用于更改这些默认值参数。

    99630

    《干货系列》SQL语句-知无不言言无不尽

    6.CCL(Cursor Control Language)指针控制语言,DECLARECURSOR,FETCH INTO UPDATE WHERE CURRENT等 2.SQL语句大小写 首先,各类数据库对...SQL大小写是不敏感(引号内字符串除外),Oracle会将小写sql语句转换成大写,其实大小写sql效率影响很小,主要是业务逻辑复杂sql优化。...3.SQL语句执行顺序 SQL语句执行顺序与语法顺序并不一致,SQL语句语法顺序为: SELECT [DISTINCT] FROM JOIN ON...5.在不同值较少字段上不必要建立索引,性别字段 6.索引列不能参与计算,保持列“干净”。 6.SQL优化 1.只返回需要字段,避免SELECT*。...任何在where子句中使用is null或is not null语句优化器是不允许使用索引.对于这种情况我们可以使用相同功能运算符替换掉,比如 a is not null 改为 a>0 或a>’’

    1.5K50

    Execute 方法(Find 对象)

    如果是 True,则查找文本需区分大小写。相当于“编辑”菜单“查找替换”对话框中区分大小写”复选框。 MatchWholeWord   Variant 类型,可选。...如果搜索从不是文档开头位置开始,并到达文档末尾( Forward 设置为 False,则相反),用本参数控制接下来操作。当在选定内容或区域中没有找到搜索文字时,本参数也控制接下来操作。...wdFindContinue 到达搜索区域开始或者结尾时,继续执行查找操作。 wdFindStop 到达搜索范围开始或者结尾时,停止执行查找操作。 Format Variant 类型,可选。...替换文字。要删除由 Find 参数指定文字,可使用空字符串 ("")。与 Find 参数相似,本参数也可以指定特殊字符高级搜索条件。...同样,如果 MatchCase 为 False,那么查找到大写文本将被大写替换文本替换,而无论搜索文本替换文本是否大小写。上例中,“ABC”将被“XYZ”替换

    1.2K70

    MySQL中Cast函数操作符学习--MySql语法

    这使得比较区分大小写,即使该列不被定义为 BINARY或 BLOB。BINARY也会产生结尾空白,从而更加显眼。...假如你想要将一个 BLOB值或其它二进制字符串进行区分大小写比较,你可利用二进制字符串没有字符集这一事实实现这个目的,这样就不会有文书夹概念。...为执行一个区分大小写比较,可使用 CONVERT()函数将一个字符串值转化为一个不区分大小写字符集。..., 替换其在上述语句中latin1名。...若你正在使用数字操作符 ( +) 而其中一个操作数为无符号整数,则结果为无符号。可使用SIGNED UNSIGNED cast 操作符来覆盖它。将运算分别派给带符号或无符号64比特整数。

    97830

    查找 Linux 文件:查找命令使用完整指南

    使用 find 时,使用 -iname 选项可忽略区分大小写。 使用“查找:基础知识” 您通常会将 find 命令与语法一起使用。...例如,要查找名为“etc”所有文件、目录符号链接,可以使用find / -type f,d,l -iname etc -iname 告诉 find 忽略区分大小写。...如果您不能 100% 确定文件名称或大小写,这一点很重要。但是,如果希望 find 与键入大小写特别匹配,请将 -iname 替换区分大小写 -name。...-mtime-atime-ctime 如果您希望按分钟而不是按天进行搜索,请将 替换 。-atime-amin-ctime-cmin 在两个时间戳之间查找文件。...-r 该标志指示查询不区分大小写。如果要强制搜索注意大小写,请省略该标志。-i-i 剪掉多余文字。如上所述执行搜索时,你将看到文件名以及突出显示匹配查询文本。

    3.4K10

    jq正则表达式_JAVA 正则表达式

    i 是一个修饰符(搜索区分大小写)。 使用字符串方法 在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() replace()。...正则表达式使得搜索功能更加强大(如实例中不区分大小写)。...正则表达式修饰符 修饰符可以在全局搜索中不区分大小写: 修饰符 描述 i 执行大小写不敏感匹配。 g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 m 执行多行匹配。...modifiers(修饰符) 用于指定全局匹配、区分大小写匹配多行匹配 注意: 当使用构造函数创造正则对象时,需要常规字符转义规则(在前面加反斜杠 )。...比如,以下是等价: var re = new RegExp(“\w+”); var re = /w+/; 修饰符 修饰符用于执行区分大小写全局匹配: 修饰符 描述 执行大小写不敏感匹配。

    1.8K20

    mysql好还是oracle好_oracle优缺点

    5、对象名称区别: 虽然某些模式对象名称在OracleMySQL中都不区分大小写,例如列,存储过程,索引等。但在某些情况下,两个数据库之间区分大小写是不同。...Oracle对所有对象名称都不区分大小写;而某些MySQL对象名称(如数据库表)区分大小写(取决于底层操作系统)。...6、运行程序外部程序支持: Oracle数据库支持从数据库内部编写,编译执行几种编程语言。此外,为了传输数据,Oracle数据库使用XML。...MySQL不支持在系统内执行其他语言,也不支持XML。 7、MySQLOracle字符数据类型比较: 两个数据库中支持字符类型存在一些差异。...5、单引号处理 MySQL里可以用双引号包起字符串,Oracle里只可以用单引号包起字符串,在插入修改字符串前必须做单引替换; 把所有出现一个单引号替换成两个单引号 版权声明:本文内容由互联网用户自发贡献

    2K10

    【python】一篇玩转正则表达式

    用于控制匹配方式,如是否区分字母大小写 常用标志 标志 说明 A或ASCII 对\w,\b,\d,\s只进行ASCII匹配 I或IGNORECASE 不区分字母大小写 M或MULTILINE 将^$用于包括整个字符串开始结尾每一行...pattern:表示模式字符串,由要匹配正则表达式转换而来 string:表示要匹配字符串 flags:表示标志位,用于控制匹配方式,如是否区分字母大小写 举例 搜索第一个以“mr_”开头字符串...,[flags]) pattern:表示模式字符串,由要匹配正则表达式转换而来 string:表示要匹配字符串 flags:表示标志位,用于控制匹配方式,如是否区分字母大小写 举例 搜索以“mr_”...string:表示要被查找替换原始字符串 count:可选参数,表示模式匹配后替换最大次数,默认值为0 flags:表示标志位,用于控制匹配方式,如是否区分字母大小写 举例 隐藏快递里手机号码...,由要匹配正则表达式转换而来 string:表示要匹配字符串 maxsplit:可选参数,表示最大拆分次数 flags:表示标志位,用于控制匹配方式,如是否区分字母大小写 举例 对给定url地址中提取请求地址各个参数

    65330
    领券