Mysql基础知识点汇总

2019-01-04 20:53:14王旭

select cast(DATEPART(yyyy,getdate()) as CHAR(4))+'-' +cast(DATEPART(mm,getdate()) as CHAR(2))+'-' +cast(DATEPART(dd,getdate()) as CHAR(2))

9.数学函数

--rand:随机数:返回0到1之间的数,理论上说可以返回0但是不能返回1
select RAND()
--abs:absolute:取绝对值
select ABS(-100)
--ceiling:获取比当前数大的最小整数
select CEILING(1.00)
--floor:获取比当前数小的最大整数
select floor(1.99999)
power:
select POWER(3,4)
--round():四舍五入.只关注指定位数后一位
select ROUND(1.549,1)
--sign:正数==1  负数 ==-1  0=0
select SIGN(-100)

select ceiling(17*1.0/5)

10.字符串函数

--1.CHARINDEX --IndexOf():能够返回一个字符串在源字符串的起始位置。找不到就返回0,如果可以找到就返回从1开始的索引--没有数组的概念
--第一个参数是指需要查询的字符串,第二个是源字符串,第三个参数是指从源字符的那个索引位置开始查找
select CHARINDEX('人民','中华人民共和国人民',4)
--LEN():可以返回指定字符串的字符个数
select LEN('中华人民共和国')
--UPPER():小写字母转换为大写字母  LOWER():大写转小写
select LOWER(UPPER('sadfasdfa'))
--LTRIM:去除左空格  RTIRM:去除右空格
select lTRIM(RTRIM('                   sdfsd             '))+'a'
--RIGHT:可以从字符串右边开始截取指定位数的字符串  如果数值走出范围,不会报错,只会返回所有字符串值,但是不能是负值
select RIGHT('中华人民共和国',40)
select LEFT('中华人民共和国',2)
--SUBSTRING()
select SUBSTRING('中华人民共和国',3,2)
--REPLACE 第一个参数是源字符串,第二个参数是需要替换的字符串,第三个参数是需要替换为什么
select REPLACE('中华人民共和国','人民','居民')
select REPLACE('中        华      人民       共        和       国',' ','')
--STUFF:将源字符串中从第几个开始,一共几个字符串替换为指定的字符串
select STUFF('中华人民共和国',3,2,'你懂的')

--sudyfsagfyas@12fasdf6.fsadfdsaf

declare @email varchar(50)='sudyfsagfyas@12fasdf6.fsadfdsaf'
select CHARINDEX('@',@email)
select LEFT(@email,CHARINDEX('@',@email)-1)

--使用right
select right(@email,len(@email)-CHARINDEX('@',@email))
--使用substring
select SUBSTRING(@email,CHARINDEX('@',@email)+1,LEN(@email))
--使用stuff
select STUFF(@email,1,CHARINDEX('@',@email),'')

11.联合结果集union