CHARINDEX,REPLACE,LEFT+四大系统函数+模糊查询

select CHARINDEX(‘bob‘,‘my name is bob‘,1)--返回12  bob的第一个b在字符串中排第12(从1开始数)
select CEILING(456.4)--457向上取正
select CURRENT_USER--dbo
select REPLACE(‘123456‘,‘6‘,‘0‘)--把6换成0,将123456中的6换成0--》123450  笑到最后才是最美的
select REPLACE(‘io0io0‘,‘i‘,‘1‘)
select REPLACE(‘io0io0‘,‘o‘,‘0‘)
update tb_Admin set password=REPLACE(password,‘o‘,‘0‘);
update tb_Admin set password=REPLACE(REPLACE(password,‘o‘,‘0‘),‘i‘,‘1‘);

select ListNumber from SellRecord
CONVERT(int LEFT(listNumber,charindex(‘-‘,ListNumber)-1)),
CONVERT(int STUFF(listNumber,1,charindex(‘-‘,ListNumber))),

select LEFT(‘13-1‘,1)--1  返回字符的左边第一个字符,left是开始截取多长的函数
select RIGHT(‘13-56‘,2)--56
select CHARINDEX(‘-‘,‘13-9‘)--‘-‘排在第3位  从1开始数
select LEFT(‘13-4‘,CHARINDEX(‘-‘,‘13-9‘)+1)--charindex 是返回的是一个数值,left是开始截取多长的函数 返回13-4
select STUFF(‘13-180‘,1,CHARINDEX(‘-‘,‘13-180‘),‘jj‘)--从1开始,截取左边的3个长度,替换成jj180。

--字符串函数 charindex len(‘sql课程‘) upper LTRIMm RYRIM RIGHT REPLACE STUFF()
--日期函数
GETDATE() select GETDATE();--返回今天的日期
DATEADD SELECT DATEADD(MM,4,GETDATE())--加了四个月,dd天数,yyyy 年数
DATEDIFF SELECT DATEDIFF(MM,‘01/01/1999‘,‘01/01/2009‘) 间隔多少个月
DATENAME SELECT DATENAME(DW,GETDATE())
DATEPART SELECT DATEPART(MONTH,‘01/25/2001‘)返回整数 25号
数学函数
RAND SELECT RAND() 返回0到1的随机值
CEILING select ceiling(1.23)返回2
ROUND SELECT ROUND(43.543,1)返回43.500 1是保留一个5
系统函数
convert() select ‘op‘+CONVERT(varchar(2),12) op12

--asc升 desc降序 默认是asc

order by ID,num desc 多列排序
-----------------------------------------------------------
---模糊查询 和 聚合函数

select DATEADD(MM,-50,GETDATE())--50天之前的日期
--三个模糊查询使用的关键字 like between in
--通配符:_ % [1或2] [^] ---- A like‘C_‘ B like ‘%C‘
--like 只与字符型数据联合查询
select * from Student where stuName like ‘王%‘--z开头,h结尾
select * from Student where ID between 1 and 4

select * from Student where sex in(‘男‘)

where Addresss like ‘%山东%‘
---sum()求和函数 avg()平均值 max min count 也计算空行的值

select COUNT(*) from Student
select SUM(StuTime) from Student where class="s1"
select SUM(score) from Student where stuNo=s1101004
select MAX(score),MIN(score),AVG(score) from Student where Dat=‘2013-3-22‘
select AVG(score) from Student where score>60
select AVG(score) from Student
select AVG(loginId) from Student where IsDel=‘0‘ and sex=‘男‘
-- select MAX(stuno) from Student

原文地址:https://www.cnblogs.com/ZkbFighting/p/8290027.html

时间: 2024-11-04 14:05:20

CHARINDEX,REPLACE,LEFT+四大系统函数+模糊查询的相关文章

第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数

第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all;  Select 列 into 新表;字符串函数;日期函数 SQL聚合函数 MAX(最大值).MIN(最小值).AVG(平均值).SUM(和).COUNT(数量:记录的条数) 聚合函数对null不计算.如果一行数据都是null,count(*)包含对空值行.重复行的统计. --聚合函数演示 selec

EXCEL IF 函数 模糊查询

A列都是产品名,比如衬衫,长袖衬衫,短袖衬衫,短裙,长裙 搜索A列的产品名,凡是含有“衬衫”的一律在B列对应行输出“衬衫”,凡是含有“裙”字的一律输出“裙子”在B列对应行,请教一下怎么写函数,本来用IF函数: =IF($A8="衬衫","衬衫",IF($A8="裙","裙... 输入以下公式 =IF(COUNTIF(A8,"*衬衫*")>0,"衬衫",IF(COUNTIF(A8,"

SQL server 模糊查询 排序 聚合函数 数学函数 字符串函数 时间日期函数 转换、函数转换

create database lianxi831  --创建数据库gouse lianxi831  --引用数据库gocreate table xs  --插入表格( code int not null,  --写入内容 name varchar(10), cid varchar(18), banji varchar(10), yufen decimal(18,2), shufen decimal(18,2), yingfen decimal(18,2),)goinsert into xs v

0831 数据库建立,增删改查,各种函数类型,类型转换,模糊查询,排序

create database lian0831gouse lian0831gocreate table stu(code int not null,cid varchar(20) not null,name varchar(10), banji varchar(10),sex varchar(10),age int not null,yufen decimal(18,2),shufen decimal(18,2),yingfen decimal(18,2),)insert into stu v

数据库创建两个表格及模糊查询,函数

--创建表格 create table xinxi ( code int not null, name varchar(50) not null, birth varchar(50) not null, sex char(10) not null, score decimal(18,2) not null, banji varchar(20) not null, ) --创建一班数据 insert into xinxi values(101,'张三','1990年3月2日','男',86,'一班

SQL Server之 (二) SQL语句 模糊查询 空值处理 聚合函数

(二) SQL语句  模糊查询  空值处理  聚合函数 自己学习笔记,转载请注明出处,谢谢!---酸菜 SQL :结构化查询语言(Structured Query Language),关系数据库管理系统的标准语言. Sybase与Mircosoft对标准SQL做了扩展:T-SQL (Transact-SQL); 注:①SQL对大小写的敏感取决于排序规则,一般不敏感; ②SQL对单引号的转义,用两个单引号来表示一个单引号; ③SQL执行顺序: 1→2→3→4 select  * ---------

工作问题总结一:由数据查询慢来浅谈下oracle中的like和instr函数的模糊查询效率问题

今天上午10点左右,boss告诉我们生产环境一客户在某功能下录入信息时,出现加载数据很慢的情况,因为严重影响了客户使用,就让我们赶紧查实原因,组长和我就根据领导提供的用户登录系统,找到出问题的那个功能,选择买方和银行信息后加载限额信息时组长的电脑出现的反应是浏览器卡死,我的电脑上是去趟厕所回来坐下来之后才加载出来,我靠3分钟左右的时间,崩溃!!!  赶紧查代码  经查询代码发现,加载的数据是从千万量级(有2321w余条)的表中查询,查询语句中使用了like操作符,经研究发现确实是因为查询的sql

SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。

top关键字:写在select后面 字段的前面 比如你要显示查询的前5条记录,如下所示: select top 5 * from Student 一般情况下,top是和order by连用的 order by用在表名的后面 order by后面就填你要按它排序的字段,是升序排序(从小到大排序) percent:百分比 %=percent 比如要显示5%的数据处理,不能写top 5%,而是top 5 percent 提示:如果top 5 percent出来的数是3.1条数据的话,是取四条数据,而不

0831 模糊查询,排序查询,聚合函数,时间日期函数,数学函数,字符串函数

create database lianxi0720gouse lianxi0720gocreate table student( code int not null,--学号,不可为空 name varchar(10),--学生姓名 sex varchar(10),--性别 banji varchar(10),--班级 yufen decimal(18,2),--语文分数 shufen decimal(18,2),--数学分数 yingfen decimal(18,2),--英语分数)go--