SQL-数学、字符串、时间日期函数和类型转换

--数学函数
--ABS绝对值,
select ABS(-99)
--ceiling取上限,
select CEILING(4.5)
--floor去下限
select FLOOR(4.5)
--power 几次方,
select POWER(2,2)
--round四舍五入,
select round (6.45,1)
--sqrt开平方
select SQRT(9)
--square平方
select SQUARE(5)

--字符串函数
--ASCII 返回字符串最左边的字符ascii码
select ASCII(‘name‘)
select ASCII(name)from student1--查看所有人名的首字符的ascii码
--char 将ascii码转换成字符
select CHAR(70)
select CHAR(chinese)from student1--讲所有语文分数转换成字符
--注意,(整数)所转换的表达式或者常量需要在0-256之间,超出的话输出n

--LEN 返回字符串的长度
select LEN(‘asdfghh‘)
select LEN(name)from student1 --显示所有姓名的长度

--charindex 返回字符串首个字符出现在某个字符串从头开始为几的索引
select CHARINDEX(‘d‘,‘asdfghhjkkhg‘)--索引从1开始
select CHARINDEX(‘23‘,age)from kaoshi --查看在23里面出现的索引

--difference 返回相似度 用0——4表示相似度
select DIFFERENCE(‘asddfghjk‘,‘adfjkgh‘)
--LEFT 表示从左边截取字符串
select LEFT(‘asfgdsssdgh‘,4)

--RIGHT 从右边
select right(‘asfgdsssdgh‘,4)

--lower 全部转化成小写
select LOWER(‘adasJFKSKdffsfa‘)

--upper 大写
select UPPER(‘AFADSFAsfsdfsSAD‘)

--Ltrim 去掉左边的空格
select LTRIM(‘ asd ‘)
--Rtrim 去掉右边的空格
select RTRIM(‘ asd ‘)

--patindex 相当于charindex 返回字符串所在字符中的首字符索引位
select PATINDEX(‘%dasda%‘,‘154dasda546‘)

--Replace 查找替换
select REPLACE(sex ,‘女‘,‘姑娘‘)from student1--只显示,不更改
--replicat 复制粘贴
select REPLICATE(‘asd ‘,3)--一共三遍
--reverse 翻转
select REVERSE(‘asdfgghjk‘)

--space 空格
select ‘a‘+SPACE(5)+‘bc‘

--str 强制转换成字符串
select STR(123456.222,5,1)--参数1是需要转换的数值,参数2是转换之后保留的长度
--参数3是小数点后需要保留的位数
--注意,参数2在小于参数1整数部分位数时无法转换

--stuff
--从第几个索引的位置,看看需不需要向后删除几位,然后将需要插入的内容插入
--参数1是需要被插入的字符串
--参数2是从第几个索引开始
--参数3是是否需要向后删除几个字符
--参数4是新插入的字符
select STUFF(‘123456‘,5,2,‘.454‘)

--substring
--截取字符串
--参数1是被截取的字符串
--参数2是从哪个索引开始
--参数3是截取的长度
select SUBSTRING(‘151111111111111111111111888861‘,1,4)

--1.时间日期函数:
set datefirst 1 --设置星期一为第一天
--datepart 函数,返回时间日期中的某一个部分
--参数1是指返回那一个部分
--参数2是指从那个时间日期中返回
--datefirst 是系统常量,使用时需要加上@@
select @@DATEFIRST as‘1st day‘,DATEPART(dw,GETDATE())as ‘tobay‘
select GETDATE()--执行是后系统时间
--需要改变的类型,需要改变的数量,需要执行要改变的时间日期

select DATEADD(HH,5,‘2015-12-12‘)
--datediff 算时间差, different 不同的,相差的
--需要改变的类型,开始的时间日期,结束的时间日期
select datediff(MM,‘2013-12-31‘,‘2014-1-3‘)
declare @startday varchar(50)--声明变量时需要添加数据类型,
set @startday =‘1993-11-1‘--设置变量值
select DATEDIFF(DAY,@startday,GETDATE())--as ‘在线时间‘
select day(‘1993-11-1‘)
select MONTH(‘1993-11-1‘)
select YEAR(‘1993-11-1‘)
--datepart 返回时间日期的某一个部分
--参数1是返回的哪一个部分
--参数2是以哪个日期作为被计算的日期
select DATEPART(YEAR,‘2009-9-8‘)--返回年
select DATEPART(DY,‘2009-9-8‘)--返回dayofyear 这一年的第几天
select DATEPART(QQ,‘2009-9-8‘)--返回季度 共四个季度
--判断日期时间是否正确
select ISDATE(‘2012-2-29‘)--正确 返回1
select ISDATE(‘2011-2-29‘)--错误 返回0
--2.类型转换:

--数据类型转换 cast convert
--cast 先写被转换的value + as + 被转换成的类型
select CAST(1.999 as int)
select CAST(1.56656 as varchar(50))
select CAST(1.3996646 as decimal(18,2))
select cast(CAST(‘1.5656‘ as decimal(18,2)) as int)
select CAST(‘1.5656‘ as decimal(18,2))
--convert 参数1是需要转换成为的类型,参数2是需要被转换的value
select CONVERT(int , ‘99‘)
select CONVERT(decimal(18,2) , ‘89.9912‘)--在精确后面位数的时候会自动四舍五入
select CONVERT(varchar(50) , 3.1415926)

时间: 2024-10-25 03:14:59

SQL-数学、字符串、时间日期函数和类型转换的相关文章

SQL server 时间日期函数、类型转换

一.日期与时间函数 二.子查询与分页查询

时间日期函数,类型转换,子查询,分页查询

SQl Server 函数篇 数学函数,字符串函数,转换函数,时间日期函数

数据库中的函数和c#中的函数很相似 按顺序来, 这里价格特别的 print  可以再消息栏里打印东西 数学函数 ceiling()  取上限   不在乎小数点后面有多大,直接忽略 floor()     取下限   同上 round(列名,保留的位数)   四舍五入   保留小数最后那位数进不进一只看保留位数的后一位数够不够条件,再往后的就不管了 ABS()     绝对值---防抱死233 PI()        圆周率   就是查询一个圆周率 SQRT()平方根 字符串函数 upper()

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

聚合函数,数学、字符串、函数,时间日期函数

create database lianxi0425--创建一个名字为lianxi0425的数据库 go use lianxi0425 --使用练习0425这个数据库 go --创建一个学生xinxi1的表,填写学号.名字.出生年份.性别.分数.班级 create table xinxi1 ( code int not null, name varchar(50) not null, birth varchar(50) not null, sex char(10) not null, score

语句、聚合函数、数学函数、字符串函数、时间日期函数

  --添加列 alter table shuiguo add price decimal(18,2) --删除列 alter table shuiguo drop column price --更改数据库的名称,逗号前面是之前的,逗号后是要改成的名字 sp_renamedb student,xuesheng 更改数据库的名称 表中有数据的情况下再添加列.删除列 语句示例 --查询所有数据 select * from xuesheng --查询开头是王的所有数据 select * from xu

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--

数据库基础(字符串函数、时间日期函数、数据类型转换、函数转换)

字符串函数: 时间日期函数: 数据转换.函数转换: 练习:查看名字,生日

SQL 时间日期函数

1.时间日期函数