SQL常用函数和语法
一、 基本内置函数。
ROW_NUMBER() (获取)行号,对数据进行排序。
Exec 调用存储过程
Host_Name 查询本机名称
Print 输出文本
Distinct 去重复
二、 操作名令。
1. DDL操作名令:
CREATE TABLE …… 创建表结构
Alter table ……….修改表结构
Drop table ……….删除表结构
2. DCL命令
Insert into table_name(col_1,col_2) values(‘va1’,’va2’) 插入数据
Update table_name set col_x=’’ where col_=xx
Delete table_name where col_x=xx
三、 一般函数(就不一一分类了)
1、 时间函数
–Getdate()获取当前时间
select getdate() as ‘today’
–dateadd() 给某个时间段增加时间
select dateadd(yy,10,getdate()) --给当前时间增加10年
–datediff() 计算两个时间段的间隔
select datediff(yy,‘1999/5/3’,getdate())
–datepart(fun,date) 获取时间段对象函数
–获取年
select datepart(yy,getdate())
–获取月
select datepart(mm,getdate())
–获取日
select datepart(dd,getdate())
–获取时
select datepart(HH,getdate())
–获取分
select datepart(MI,getdate())
–获取秒
select datepart(ss,getdate())
–获取毫秒
select datepart(ms,getdate())
–获取星期 开始为1(星期天) ,结束为(7)星期六
select datepart(dw,getdate())
–day(),相当于datepart(dd,时间)
select day(‘2019/6/15’)
select day(getdate())
–year(),相当于datepart(yy,时间)
select year(GETDATE())
–MONTH(),相当于datepart(mm,时间)
select MONTH(GETDATE())
2、 字符串函数
–substring(string,start_point,lenght) 截取字符串
print substring(’ ZhangJinRong’,1,5)
select substring(’ ZhangJinRong’,1,5)
–upper 将字符串转换成大写
select upper(’ i love sql’)
–lower将字符串转换成小写
select LOWER(‘LUCKY’)
–ltrim 给字符串左去空格
select ltrim(’ i am a good person’)
–rtrim 给字符串右去空格
select rtrim(’ heihei,i do not know why it likes this ')
–replace(要操作的字符串,被取代的字符,取代字符)
select replace(‘I hate you’,‘hate’,‘love’)
–stuff(要操作的字符串,被取代字符开始位置,被取代字符结束位置,取代字符串) 跟 --replace类似,
select stuff(‘我的名字是夏一天’,6,8,‘summer’)
3、数学函数
–abs() 绝对值函数
select abs(-100.3456)
–sin()返回正弦值
select sin(0.54)
–cos()返回余弦值
select cos(3.14)
–power() 次方函数
select power(10,2) –10的2次方
–retrun 100
–round 返回数字表达式并四舍五入为指定的长度或精度
select round(100.45,1)
select round(123,45,-2)
–floor() 去浮点函数,返回的值小于或等于指定的值
select floor(4.9)
select floor(-123.99)
–ceiling() 返回最大的值,返回的值大于或等于指定的值
select ceiling(4.9)
select ceiling(-123.99)
–sqrt()给指定值开平方根
select sqrt(100)
–square 返回指定值的平方
select square(10)
select square(-15)
4、转换函数
--cast()
select cast(100.45 as int)
select cast(1345 as varchar(10))
--convert()
select convert(int,100.56)
select convert(varchar(10),2345)
–空值函数
–isnull() 要返回的值为空就返回对应的值否则
--nullif(),只要参数里的两个表达式相同就返回null
select nullif('iam','iam')
--coalesce返回其参数中第一个非空表达式
select coalesce(null,null,'i am a good boy')
--创建表
create table temp_190160(ID NCHAR(5) PRIMARY KEY,BOOKS_NAME NCHAR(10),PRICE DECIMAL)
--插入数据
INSERT INTO temp_190160(ID,BOOKS_NAME,PRICE)
SELECT 1,'安徒生童话',20.20
union
SELECT 2,'老人与海',30.20
union
SELECT 3,'童年',null
--查询数据
SELECT * FROM temp_190160
select ID,BOOKS_NAME,ISNULL(PRICE,0) PRICE from temp_190160
结果截图:
5、分组函数
–AVG() 求平均值
–查询1001学生的平均分
select s.StuId '学生ID',CourseId '课程ID',Score '分数',ROUND((s1.avgscoure),1) '平均分' from tblScore s join
(select Avg(Score) avgscoure,StuId from tblScore where StuId=1001 group by StuId) s1 on s.StuId=s1.StuId
–Sum() 给对象求和,
–MAX(),MIN() 返回数据中对象的最大值/最小值
–COUNT()求数据表的总行数
–分组函数,查询语句结尾都要对查询语句进行分组 group by(根据什么分组),若要对分组好的语句进行筛选可以在group by 语句后加上 having 语句进行筛选。
以上是对于Sql常用语法总结,希望对以后有所帮助