字符串函数
1.charindex: 返回字符或者字符串在另一个字符串中的起始点
语法 :charindex(‘目标字符串,用于被查找的字符串,开始查询的位置’)
2:len:返回字符串的长度
语法 len(目标字符串)
3.lower:将指定的字符串转换为小写
语法 lower(目标字符串)
4.upper:将指定字符串转为大写
语法 upper(目标字符串)
5.ltrim:清除字符串左边的空格
语法 ltrim(值)
6.rtrim:清除字符串右边的空格
语法 rtrim(值)
7.right,left :从字符串右边\左边返回指定的字符串长度
语法 right(值,返回长度)
8.replace(字符串替换)
语法 replace(字符串类型,要替换的字符串,替换后的)
、日期函数
1.getdate():取得当前系统时间
2.dateadd():在指定日期的基础上加长指定时间,返回新的时间
语法 dateadd(dd,3,日期)
3.datediff()返回两个日期之间的差
语法 datediff(dd,日期,算差的日期)
4.datename;返回代表指定日期的指定日起部分的字符串
语法:datename(param。‘日期’)
--param --year--month----weekday
5、datepart 返回代表日期指定日期的部分整数
select datepart(Month,日期)
------year、month, day 日期指定 年,月,日
--数学函数
1. abs():取数值表达式的绝对值2. ceilng():返回大于或等于所给数字表达式的最小整数
3. floor:取小于或等于指定表达式的最大整数
4. power(值,值):取数值表达式的幂值
5. round():将数值表达式四舍五入为指定精度
6. sign:对于正数返回+1,对于负数返回-1,对于0 则返回0
7. sqrt:取浮点表达式的平方根
系统函数
convert,cast---用来转换数据类型
cast(值 as 数据类型)
convert(数据类型,值)
datalength返回用于指定表达式的字节数 datalength('我爱你中国');
--sqlserver04(内置函数) --内置函数:系统自带,无需实例化 直接调用并使用即可。 --内置:内嵌的,系统自带的,不需要自己去定义 --函数:类似oop中的方法。 --sql中:字符串函数,数学函数,日期函数,系统函数,聚合函数(下节课) --内置函数的使用位置:在查询语句中 --函数: --字符串函数:根据用户提供的字符串,然后根据字符串函数得到该字符串中指定的字符。 --0.ascii()和char() 作用:每一个字符对应一个ascii值,类似人的身份号码。 --int a = 97; --System.out.println((char)a); select * from tb_student; update tb_student set sname = 'a' where sid = 1; select ASCII('a');--97 select CHAR(97); select * from tb_student where ascii(sname) = 97 select * from tb_dengji; --1.charindex:返回字符或者字符串在另一个字符串中的起始位置。 -- 语法:charindex('目标字符串',用于被查找的字符串',开始查找的位置) --helloworld o --i字母在第2个参数中的下标位置 select CHARINDEX('i','my name is zz'); select CHARINDEX('is','my name is zz'); select CHARINDEX('iss','my name is zz');--0 select CHARINDEX('m','my name is zz',3); --2.len:返回字符串的长度 -- 语法:len('值') select len('hello'); select LEN('浪琴湾'); select LEN('小 名'); --3.lower:将指定的字符串转换为小写 -- 语法:lower('值') select LOWER('my NAME IS ZKING ZZ'); --4.upper:将指定的字符串转换大写 -- 语法:upper('值') select UPPER('my name is yangwenguang'); --5.ltrim:清除字符串左边的空格 -- 语法:ltrim('值') select LTRIM(' hello'); select LEN(LTRIM(' hello')); select LEN(' hello') --6.rtrim:清除字符串右边的空格 -- 语法:rtrim('值') select RTRIM('hello '); --7.right、left:从字符串右边/左边返回指定书目的字符 -- 语法:left('字符串',返回长度) select LEFT('张三丰',2) select RIGHT('李四',1); --查询所有姓张的人。 select * from tb_dengji where LEFT(dname,1) = '张' select * from tb_dengji where dname like '张%'; --8.replace:字符串替换 -- 语法:replace('字符串','要替换的字符','替换后的值') --我是zz select REPLACE('我是zz','zz','等言康') --9.substring 从指定的位置开始截取,截取后面指定的位数 select SUBSTRING('abcdefghijk',2,5); --4、将所有客户的名字变成类似“张某某”再显示, --即只显示姓,名用某某代替(今日作业) select LEFT(dname,1)+'某某' from tb_dengji; select REPLACE(dname,SUBSTRING(dname,2,LEN(dname)),'某某' ) from tb_dengji; --日期函数 --1.getdate():取得当前的系统时间 select GETDATE();--insert里面 --insert into tb_sb(sid,drz,dtf) values(GETDATE(),null); --2.dateadd():在向指定日期加上一段时间的基础上,返回新的datetime值 -- 语法:dateadd(dd,3,'日期'); --第一个参数:增加日期的格式 --dd:天数 --mm:月数 --yy:年份 --第二个参数:增加的数字 select DATEADD(dd,3,getdate()); select DATEADD(mm,3,getdate()); select DATEADD(yy,3,getdate()); --3.datediff():返回两个日期之间的差 -- 语法:datediff(dd,'日期','日期') select DATEDIFF(DD,'2021-01-01',GETDATE()); --4.datename:返回代表指定日期的指定日期部分的字符串 -- 语法:datename(param,'日期') -- param:year,month,weekday select DATENAME(YEAR,GETDATE()); select DATENAME(hour,GETDATE()); select DATENAME(month,GETDATE()); select DATENAME(weekday,GETDATE()); select DATENAME(YEAR,GETDATE())+'-'+DATENAME(MONTH,GETDATE()) --5.datepart 返回代表指定日期的指定日期部分的整数。 --select DATEPART(MONTH,'日期'); select DATEPART(MONTH,getdate()); --6.year/month/day:日期指定年,月 ,日 select YEAR(GETDATE()); select MONTH(GETDATE()) --数学函数 -- 1. abs():取数值表达式的绝对值 select ABS(-10); -- 2. ceiling():返回大于或等于所给数字表达式的最小整数 select CEILING(12.001); -- 3. floor:取小于或等于指定表达式的最大整数 select FLOOR(12.999999999); -- 4. power(值,值):取数值表达式的幂值 select POWER(2,3); -- 6. sign:对于正数返回+1,对于负数返回-1,对于0 则返回0 select SIGN(10);--1 select SIGN(-10);-- -1 select SIGN(0);--0 --系统函数 --convert/cast--用来转变数据类型 --cast(值 as 数据类型) --convert(数据类型,值) create table tb_a ( aid int primary key, fenshu varchar(20) ) select * from tb_a; select fenshu+10 from tb_a; select CAST(aid as varchar)+10 from tb_a select CONVERT(int,fenshu)+10 from tb_a; select * from tb_kefang; insert into tb_kefang values (777,4,999,1,0,'空房',null,'电视'); select * from tb_kefang; --isnull(属性,值);如果某属性为null,用指定的值替代显示 select ISNULL(fcnt,'sb') from tb_kefang; select ISNULL(CONVERT(varchar,fcnt),'sb')from tb_kefang; --datalength返回用于指定表达式的字节数 datalength('我爱你中国'); select datalength('中国'); ---------------------------------------------------------- 字符串 ascii|char charindex len lower|upper ltrim|rtrim replace substring 日期 getdate year|month|day dateadd datediff datepart datename 数学 abs|ceiling|floor|sqrt|round|sign 系统 convert|cast|datalength
sql erver中的内置函数
最新推荐文章于 2024-03-28 09:38:38 发布