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