今天在解决一个编程问题时,我注意到如果不使用特殊语法,就不能使用LIKE搜索包含特殊字符的字符串列,例如%或∗。找出这个问题只需要几分钟,但记住语法总是比较容易,如果你写它。
所以是的,这篇文章只是为了我的利益。希望它也能帮助别人。
假设您要查找包含文本“100%”的任何字段,因此将此查询放在一起:
SELECT * FROM tablename WHERE fieldname LIKE ‘%100%%’
您将得到包含“100”的所有行以及包含“100%”的行,而不是您想要的。
这里的问题是SQLServer使用百分号、下划线和方括号作为特殊字符。在LIKE查询中,如果不转义它们,就不能将它们用作普通字符。
方括号逃逸
您可以用方括号将%或u括起来,告诉SQL Server里面的字符是普通字符。
SELECT * FROM tablename WHERE fieldname LIKE ‘%100[%]%’
T-SQL转义语法
或者,可以将转义运算符附加到查询中,并在要转义的值之前添加\字符。
SELECT * FROM tablename WHERE fieldname LIKE ‘%100\%%’ ESCAPE ‘\’
查询的转义“\”部分告诉SQL引擎将\后面的字符解释为文字字符,而不是通配符。
我个人觉得第二种方法更容易处理,你也可以用它来摆脱方括号。
...外,它还保护数据并减少数据冗余以实现数据一致性。sqlserver就是这样一种DBMS。结构化查询语言(SQL)是数据库管理系统中管理数据的语言。Union和Union all是SQL中的两个命令,它们有助于在表数据中执行set操作。 目录 1. 概述和...
...期备份SQL数据库。我们已经介绍了可以轻松地将所有SQL server数据库备份到本地硬盘驱动器的方法,但这并不能防止驱动器和/或系统故障。作为针对此类灾难的额外保护层,您可以在网络共享上复制或直接创建备份。 本地备份...
...单的SQL数据库还原,该命令行非常适合还原在同一个SQL Server安装上创建的备份文件,但是,如果您要还原在不同安装上创建的备份,或者只是喜欢点击式界面,使用SQLServerManagementStudio(或速成版)可以简化此任务。 注意:SQLSer...
...使用用户实例的sqlexpress,但我们将向您展示如何使用sqlserver的完整版本。 桌面计算机必须配置远程唤醒功能。通常,这是网卡的默认设置,但如果您想确定,可以在设备管理器中检查网卡的设备属性。 总的来说,可以从ASP.NET...
...统(RDBMS)。RDBMS的例子有MS Access、Oracle、IBM的DB2、MS SQL Server、Sybase和My SQL。哪一个是最好的,哪一个RDBMS最适合我们的需要。在不同的系统之间进行有效的比较可以帮助我们选择合适的数据库。在本文中,让我们比较并确定mssql...
SQL server中实例和数据库的主要区别在于,实例是作为操作系统服务运行的sqlservr.exe可执行文件的副本,而数据库是在表中存储数据的系统数据集合。 sqlserver是微软开发的关系数据库系统。它由GUI和命令行组成。程序员可以使用S...
SQL server中默认实例和命名实例的主要区别在于,一个SQL server只能有一个默认实例,但可以有多个命名实例。 SQL Server是Microsoft的RDBMS。它允许用户创建数据库并在数据库的表中排列数据。用户可以使用结构化查询语言来操作数据...
...数据。 引用 1.MikeRayMSFT.“Char和Varchar(Transact-SQL)–SQL Server。“SQL Server | Microsoft文档,可在此处获得。
...ETL工具的帮助,但SSIS本身充当ETL工具。DTS只是Microsoft SQL Server 2000的一个组件,可以自由使用,但SSIS不是Microsoft SQL Server 2000的一个组件。DTS扩展是数据转换服务,而SSIS扩展是SQL Server集成服务。SQLServer7中包含了DTS,为不同的作...
Microsoft SQL Server中的非空约束指定列不能包含空值。 Null与零或零字符串不同。Null表示未进行任何输入。 在数据库列上创建新的NOTNULL约束时,SQL Server会检查该列的当前内容中是否存在任何空值。如果列当前包含空值,则约...