本文翻译自:SQL Server Escape an Underscore

How do I escape the underscore character? 如何转义下划线字符?

I am writing something like the following where clause and want to be able to find actual entries with _d at the end. 我正在编写类似以下where子句的内容,并希望能够在末尾找到_d的实际条目。

Where Username Like '%_d'

#1楼

参考:https://stackoom.com/question/1Vt/SQL-Server转义下划线


#2楼

Obviously @Lasse solution is right, but there's another way to solve your problem: T-SQL operator LIKE defines the optional ESCAPE clause, that lets you declare a character which will escape the next character into the pattern. 显然,@ Lasse解决方案是正确的,但是还有另一种解决问题的方法:T-SQL运算符LIKE定义了可选的ESCAPE子句,该子句使您可以声明一个字符,该字符将下一个字符转义到模式中。

For your case, the following WHERE clauses are equivalent: 对于您的情况,以下WHERE子句是等效的:

WHERE username LIKE '%[_]d';            -- @Lasse solution
WHERE username LIKE '%$_d' ESCAPE '$';
WHERE username LIKE '%^_d' ESCAPE '^';

#3楼

These solutions totally make sense. 这些解决方案完全有意义。 Unfortunately, neither worked for me as expected. 不幸的是,没有一个对我有用。 Instead of trying to hassle with it, I went with a work around: 我没有尝试麻烦,而是进行了以下工作:

select * from information_schema.columns
where replace(table_name,'_','!') not like '%!%'
order by table_name

#4楼

这对我有用,只需使用转义符'%\\_%'


#5楼

None of these worked for me in SSIS v18.0, so I would up doing something like this: 这些都不适合我在SSIS v18.0中使用,因此我会做这样的事情:

WHERE CHARINDEX('_', thingyoursearching) < 1

..where I am trying to ignore strings with an underscore in them. ..在这里我试图忽略带有下划线的字符串。 If you want to find things that have an underscore, just flip it around: 如果要查找带有下划线的内容,只需翻转一下即可:

WHERE CHARINDEX('_', thingyoursearching) > 0


#6楼

T-SQL Reference for LIKE for SQL Server 2000 : 适用于SQL Server 2000的LIKE的T-SQL参考 :

You can use the wildcard pattern matching characters as literal characters. 您可以将通配符模式匹配的字符用作文字字符。 To use a wildcard character as a literal character, enclose the wildcard character in brackets. 要将通配符用作文字字符,请将通配符括在方括号中。 The table shows several examples of using the LIKE keyword and the [ ] wildcard characters. 下表显示了使用LIKE关键字和[]通配符的几个示例。

For your case: 对于您的情况:

... LIKE '%[_]d'

SQL Server转义下划线相关推荐

  1. sql server 2005下开启xp_cmdshell的办法

    sql server 2005下开启xp_cmdshell的办法 2009年05月09日 星期六 下午 06:06 sql server 2005下开启xp_cmdshell的办法 EXEC sp_c ...

  2. SQL Server 2005下的分页SQL

    其实基本上有三种方法: 1.使用SQL Server 2005中新增的ROW_NUMBER 几种写法分别如下: 1SELECT TOP 20 * FROM (SELECT 2   ROW_NUMBER ...

  3. 微软BI 之SSAS 系列 - 在 SQL Server 2012 下查看 SSAS 分析服务的模型以及几个模型的简单介绍...

    在SSDT中部署一个 SSAS 项目到本地服务器上出现错误. You cannot deploy the model because the localhost deployment server i ...

  4. 一起玩转SQL Server 2012 下的分析服务

    转载自:https://blog.csdn.net/aspnetx/article/details/8712286 提到SQL Server 2012的分析服务,那么不得不先说下商业智能,它是一个由数 ...

  5. SQL Server 简单模式下,误删除堆表记录如何恢复(绕过页眉校验)

    首先,我需要强调下,这篇主旨是揭示堆表的删除记录找回的原理,我所考虑的方面并不适用于每个人的每种情况,望大家见谅~ 很多朋友认为数据库在简单模式下,堆表误删除一条记录,是无法找回的,因为没有日志记录. ...

  6. SQL Server 简单模式下,误删除堆表记录如何恢复(绕过页眉校验) (转)

    首先,我需要强调下,这篇主旨是揭示堆表的删除记录找回的原理,我所考虑的方面并不适用于每个人的每种情况,望大家见谅~ 很多朋友认为数据库在简单模式下,堆表误删除一条记录,是无法找回的,因为没有日志记录. ...

  7. 恢复SQL Server简单模式下误删除堆表记录

    很多朋友认为数据库在简单模式下,堆表误删除一条记录,是无法找回的,因为没有日志记录.其实不然,某种意义上是可以找回的,因为堆表在删除记录时,只更改了行偏移,实际数据没有被物理删除,所以利用这点,测试了 ...

  8. SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享

    这个问题是在SQL SERVER 2005 升级到SQL SERVER 2014的测试过程中一同事发现的.我觉得有点意思,遂稍微修改一下脚本展示出来,本来想构造这样的一个案例来演示,但是畏惧麻烦,遂直 ...

  9. SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005 下

    SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005 下载SQL Server 2000 下载 SQL Server 20 ...

最新文章

  1. 什么是物联网的边缘计算?
  2. 031_div和span
  3. RedHat5.5_X64 Linux安装oracle 11.2.0.3 报错
  4. fastjson maven依赖_Spring Boot 使用 Maven 定制一个 parent 简化开发
  5. vs2008补丁发布
  6. 聚类精确度(Cluster Accuracy)
  7. TCP,IP,UDP等各种报文格式
  8. 全能电子地图下载器-获取离线地图瓦片的工具
  9. excel表格如何转换成word表格_如何把EXCEL表格转成WORD表格?
  10. 如何在java中实现小数点自增_java保留小数的四种实现方法
  11. uikit框架_UIkit框架的口哨之旅
  12. 成功解决ThinkPad T14 高负载下CPU降频问题
  13. python画花的代码怎么打不开_怎么用python画玫瑰花,求大神贴代码,感激不尽
  14. 费马小定理+插板法 - Sum(HDU4704)
  15. 远程桌面,openGL
  16. 文件恢复软件哪个最好用?5 款最佳照片文件恢复软件
  17. 今日干货|如何自学视频剪辑(自学视频剪辑容易吗)
  18. @-ms-viewport
  19. 盖茨基金会宣布再追加捐赠1.5亿美元,支持全球新冠肺炎响应行动
  20. OSChina 周五乱弹 —— 黑披风的程序员和白围裙的产品经理彼此世代为仇

热门文章

  1. .net 开发人员当前必须掌握的技术
  2. 【flutter】把Google官方的历史时间demo跑起来
  3. 算法----有效的括号
  4. RecycleView 缓存原理解析
  5. 2018年年度总结,以及2019年规划
  6. Error:Java home supplied via 'org.gradle.java.home' is invalid
  7. Android Studio Terminal 不是内部或外部命令,也不是可运行程序或批处理文件
  8. Swift 字典转数组
  9. iOS进阶之架构设计MVC、MVP、MVVM(12)
  10. Flutter开发使用PlatformView显示iOS原生View(50)