SQL中代替Like语句的另一种写法
比如查找用户名包含有"c"的所有用户, 可以用
use mydatabase
select * from table1 where username like'%c%"
下面是完成上面功能的另一种写法:
use mydatabase
select * from table1 where charindex('c',username)>0
这种方法理论上比上一种方法多了一个判断语句,即>0, 但这个判断过程是最快的, 我想信80%以上的运算都是花在查找字
符串及其它的运算上, 所以运用charindex函数也没什么大不了. 用这种方法也有好处, 那就是对%,|等在不能直接用like
查找到的字符中可以直接在这charindex中运用, 如下:
use mydatabase
select * from table1 where charindex('%',username)>0
也可以写成:
use mydatabase
select * from table1 where charindex(char(37),username)>0
ASCII的字符即为%
相关推荐
-
利用reverse索引优化like语句的方法详解
前言 在有一些情况下,开发同学经常使用like去实现一些业务需求,当使用like时,我们都知道使用like 前%(like '%111')这种情况是无法使用索引的,那么如何优化此类的SQL呢,下面是一个案例. 原SQL如下: pcc_cust_infonew 表索引如下 执行设计如下: 这里可以看到SQL执行3.96秒,执行计划中也可以发现PCC_CUST_INFONEW表走TABLE ACCESS FULL扫描,返回约380k的数据,然后再与PCC_CUST_CONTRACTCOMPANY表主
-
sql语句like多个条件的写法实例
表A no name 1 lu,li,zhang 2 zhou,wei,liu 3 li,fang 表B no name sex 1 li 1 2 lu 0 3 zhou 0 4 zhang 1 怎么实现 复制代码 代码如下: select * from A where A.name like (select B.name from B where B.sex=1) ------------------------
-
SQL查询语句通配符与ACCESS模糊查询like的解决方法
ACCESS的通配符和SQL SERVER的通配符比较===================================================ACCESS库的通配符为:* 与任何个数的字符匹配? 与任何单个字母的字符匹配 SQL Server中的通配符为:% 与任何个数的字符匹配_ 与单个字符匹配正文我今天在写个页面的时候,也很郁闷,表中明明有记录,但在ASP里就是搜索不到,理论的sql语句如下:Select * FROM t_food Where t_food.name
-
C#适用于like语句的SQL格式化函数
本文实例讲述了C#适用于like语句的SQL格式化函数,分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: /// <summary> /// 对字符串进行sql格式化,并且符合like查询的格式. /// </summary> /// <param name="str">要转换的字符串</param> /// <returns>格式化后的字符串</returns> public static str
-
sql语句中like的用法详细解析
在SQL结构化查询语言中,LIKE语句有着至关重要的作用.LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的. 假设有一个数据库中有个表table1,在table1中有两个字段,分别是name和sex二者全是字符型数据.现在我们要在姓名字段中查询以"张"字开头的记录,语句如下:select * from table1 where name like &quo
-
SQL中代替Like语句的另一种写法
比如查找用户名包含有"c"的所有用户, 可以用 use mydatabase select * from table1 where username like'%c%" 下面是完成上面功能的另一种写法: use mydatabase select * from table1 where charindex('c',username)>0 这种方法理论上比上一种方法多了一个判断语句,即>0, 但这个判断过程是最快的, 我想信80%以上的运算都是花在查找字 符串及其它
-
ASP.NET MVC中URL地址传参的两种写法
一.url地址传参的第一种写法 1.通过mvc中默认的url地址书写格式:控制器/方法名/参数 2.实例:http://localhost:39270/RequestDemo/Index/88,默认参数名为id所以名称为id. 如果使用其他名称,后台是无法读取的会报错 二.url地址传参的第二种写法 1.使用?加参数名=参数值的写法,如果有多个参数使用&来连接 http://localhost:39270/RequestDemo/Index?id=88&name=%E5%BC%A0%E4%
-
如何优化sql中的orderBy语句
目录 全字段排序 RowId 排序 orderby的优化 总结 在使用数据库进行数据查询时,难免会遇到基于某些字段对查询的结果集进行排序的需求.在sql中通常使用orderby语句来实现.将需要排序的字段放到 该关键词后,如果有多个字段的话,就用","分割. select * from table t order by t.column1,t.column2; 上面的sql表示查询表table中数据,然后先按照column1排序,如果column1相同的话,在按照column2排序,排
-
vue中动态添加style样式的几种写法总结
目录 vue动态添加style样式总结 对象 数组 三目运算符 多重值(浏览器会根据运行支持情况进行选择) 绑定data对象 vue3的style样式的特性 scoped 属性 在 scoped 内部,写全局的样式 通过v-bind 函数,在 CSS 中使用 JavaScript 中的变量 vue动态添加style样式总结 项目中可能会需要动态添加 style 行内样式,但是在长期维护的项目里面,尽量要避免使用. 注意: 1.凡是有 - 的style属性名都要变成驼峰式,比如font-size要
-
mybatis 查询sql中in条件用法详解(foreach)
foreach属性主要有item,index,collection,open,separator,close 1.item表示集合中每一个元素进行迭代时的别名, 2.index指定一个名字,用于表示在迭代过程中,每次迭代到的位置, 3.open表示该语句以什么开始, 4.separator表示在每次进行迭代之间以什么符号作为分隔符, 5.close表示以什么结束, 6.collection属性,该属性是必须指定的,但是在不同情况下,该属性的值是不一样的, 主要有一下3种情况: a.如果传入的是单
-
sql中case语句的用法浅谈
SQL中Case的使用方法 Case具有两种格式.简单Case函数和Case搜索函数. 复制代码 代码如下: --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比
-
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
SQL Server判断语句(IF ELSE/CASE WHEN ) 执行顺序是 – 从上至下 – 从左至右 --,所当上一个条件满足时(无论下面条件是否满足),执行上个条件,当第一个条件不满足,第二个条件满足时,执行第个二条件 1.IF ELSE 不能用在SELECT中,只能是块,比如: IF - BEGIN -(代码块) END ELSE (注意这里没有ELSE IF,要实现只能在下面的块中用IF判断) BEGIN -(代码块) END 列: declare @num int --定义变量
-
Oracle在PL/SQL中嵌入SQL语句
PL/SQL块中只能直接嵌入SELECT.DML(INSERT,UPDATE,DELETE)以及事务控制语句(COMMIT,ROLLBACK,SAVEPOINT), 而不能直接嵌入DDL语句(CREATE,ALTER,DROP)和DCL语句(GRANT,REVOKE) 1.嵌入SELECT语句 使用SELECT INTO语句时,必须要返回一条数据,并且只能返回一条数据. v_ename emp.ename%type; v_sal emp.sal%type; select ename,sal in
-
SQL Server在T-SQL语句中使用变量
变量的种类 在T-SQL中,变量按生存范围可以分为全局变量(Global Variable)和局部变量(Local Variable) 全局变量是由系统定义的,在整个SQL Server实例内都能访问到的变量,全部变量以@@开头,用户只能访问,不能赋值. 局部变量由用户定义,生命周期只在一个批处理内有效.局部变量以@作为第一个字符,由用户自己定义和复制. 示例: DECLARE @i int --声明一个int类型局部变量 SET @i = 10 --通过SET对局部变量进行赋值 DECLARE
-
SQL中where语句的用法及实例代码(条件查询)
目录 1.where语法和用法 (1)语法:where <criteria> 即where <查询条件> (2)用法:获取满足一定条件的目标数据. 2.实例 (1)单一条件查询 (2)多条件查询 补充:引号的使用 总结 1.where语法和用法 (1)语法:where <criteria> 即where <查询条件> 具体查询语句:select <字段> from <表名> where <查询条件> 说明:①多个条件则用“
随机推荐
- 使用vue构建移动应用实战代码
- JavaScript中splice与slice的区别
- javascript操作ul中li的方法
- bat得到文件大小的代码
- Python列表(list)常用操作方法小结
- iOS 9无法访问HTTP的解决方法
- Perl集群配置管理系统Rex简明手册
- python万年历实现代码 含运行结果
- javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
- crontab实现每隔多少天执行一次脚本的两种方法
- asp 过滤非法字符函数
- Android编程实现开机自动运行的方法
- SQLServer2005中的SQLCMD工具使用
- jQuery遍历json的方法分析
- 基于JavaScript实现的折半查找算法示例
- 简单粗暴的Caddy Server 使用介绍
- 网站的反采集技术
- ASP.NET如何定时调用WebService服务
- 鼠标滚轮控制网页横向移动实现思路
- 教你5分钟学会用requirejs(必看篇)