SQL Server函数语句合集

日期相关

1.select getdate()

–返回当前日期和时间 2019-03-25 18:36:59.110

2.select datepart( minute , getdate() )
–返回当前时间的分钟

3.select convert(varchar(10),getdate(),0)
–03 26 2019
–conver函数可以使用的 style 值

4.select datediff(yy,‘1990-08-23’,getdate())
–返回两个日期之间的差值 本例输出29
–datediff函数输出可用的格式

5.select dateadd(yy,100,getdate())
–在日期中添加指定的时间间隔(可为负数)
–2119-07-04 09:14:05.363

null相关

1.isnull(a,0)
–a为null则返回0,否则返回a

top

1.select top 5 a from SC
–从SC表的a列返回前5个数据

2.select top 50 percent a from SC
–从SC表的a列返回前50%的数据

like

1.select * from SC where name like ‘王%’
–从SC表中查询王姓同学的信息
–注:%为通配符

2.select * from SC where name like ‘%天’
–从SC表中查询名字以“天”结尾的同学信息

3.select * from SC where name like ‘%天%’
–从SC表中查询名字中带有“天”的同学的信息

4.select * from SC where name not like ‘%天%’
–从SC表中查询名字中不包含“天”的同学的信息

intersect、except

1.select 产品编码 from 产品表
intersect
select 产品编码 from 销售表
–查询两张表相同的数据

2.select 产品编码 from 产品表
except
select 产品编码 from 销售表
–查询两张表不同的数据

stdev、stdevp、var、varp

1.select stdev(销售金额) from 销售表
–查询样本的标准差(分母为n-1)

2.stdevp
–查询总体的标准差(分母为n)

3.var
–使用无偏差总体公式

4.varP
–使用有偏差总体公式

len

select len(产品编码) from 产品表
–返回文本字段中值的长度

round

1.select round(28.9949,2)
–28.9900 四舍五入保留小数点后两位,总位数不变,用0补齐

2.select round(28.9949,3,1)
–28.9940 函数里第三个为可选参数,不为0时表示数据截断,不进行四舍五入

3.select round(28.9949,3,0)
–28.9950 第三个参数为0时与情况1相同

delete、drop、truncate

1.delete from Course
–删除表Course中的所有数据,表仍存在,后可跟where语句

2.drop table Course
–删除表Course,表不再存在

3.truncate table Course
–删除表Course中的所有数据,但是表仍存在,实质是删除整张表包括数据再重新创建表

select into

select *
into Student_backup
from Student
–为Student表构建备份表Student_backup

join语句合集

1.inner join / join 内连接
返回两表交集,即在表中存在至少一个匹配时,则返回该行。

2.left join / left outer join 左连接
返回左表的全部行和右表满足on条件的行,
如果左表的行在右表中没有匹配,那么这一行右表中对应数据用NULL代替。

3.right join / riget outer join 右连接
与左连接相反。

4.full join / full outer join 全连接
返回两表并集,对于没有匹配的记录,用NULL代替。

5.cross join 笛卡尔积
把两个表相乘,结果表列数等于两表列数乘积。