1、数学函数:操作一个数据,返回一个结果
(1)取上限 ceiling 如果有一个小数就取大于它的一个最小整数 列如9.5 就会取到 10
select code,name,ceiling(price) from car
(2)取下限 floor 如果有一个小数就会舍掉小数点以后的数取整
select floor(price) from car
(3)ABS 绝对值 一张表中有负数就会变成正数
(4)派PI(),圆周率,括号里不需要加东西
(5)ROUND 四舍五入
select round(3.14,1) l两个参数 前面是一个小数,后面是表示保留几位小数
(3.16,1)输出的结果就是3.2
(6)SQRT 开根号
(7)SQUARE平方,自己乘以自己
2、字符串函数:
(1)转换成大写 select upper(pic) from car
(2)转换成小写 select lower() from car
(3)select ltrim(’ 123 ') 去左空格
(4)select rtrim(’ 123 ') 去右空格
(5)space() 里面放几个数字,就打印出几个空格
(6)LEFT ,类似于substring,从左边开头截取,select LEFT(‘123456’,3) 结果是123
(7)select len(‘aaaaaa’) 返回几个长度
(8)select replace(‘aaaaabbaaaaa’,‘bb’,‘haha’) 把第一个字符串中的bb替换成haha
(9)select reverse(‘abc’) 结果是cba
(10)select str(1.567,3,1) 把1.567转换成字符串,最多留3位,小数点也算一位,保留小数点后1位.
(11) select substring(‘abcdefg’,2,3) 从第二位开始截取,截取的长度是3个,结果就是bcd。
(12) 获取当前系统时间GETADTE()
(13) select getdate() 获取的是当前电脑上的时间
(14) sysdatetime() 获取数据库服务的时间
(15) select year(‘1991-1-1’)
(16) select isdate(‘2016-2-30’)返回bit类型,如果是false就返回0,true就返回1
(17) select dateadd(year,5,‘2000-1-1’) 第一个参数是要添加什么,第二个是添加多少,第三个是给谁添加, 结果返回的是2005-1-1
(18) select datename(weekday,‘2000-1-1’) 返回星期几 datename 返回的值是字符串
(19) select dateadd(year,5,‘2000-1-1’) 第一个参数是要添加什么,第二个是添加多少,第三个是给谁添加, 结果返回的是2005-1-1
(20) select dateadd(year,5,‘2000-1-1’) 返回第几天,按月
(21) select datename(day,‘2000-1-1’) 一年中第几天
TSQL编程
1、索引
添加索引,设计界面,在任何一列前右键--索引/键--点击进入添加某一列为索引
2、视图
视图就是我们查询出来的虚拟表
创建视图:create view 视图名
as
SQL查询语句,分组,排序,in 等都不能写
视图的用法:select * from 视图名
建立视图查询更方便
下图,点击执行就保存了视图
下图:从数据库中——视图就可显示
3、SQL编程 语法格式
定义变量:declare @变量名 数据类型 所有的变量都以@开头
列如:select @a int
变量赋值:set @变量名= 值
set @a=10
select @a --直接打印在结果框中
set @a=10 --赋值,不打印
select @a --输出 结果 打印在消息框中
print @a --第二种输出方式
变量使用情况:
查汽车表中名称含有宝马两个字的
declare @name varchar(20)
set @name=‘宝马’
select * from car where name like ‘%’+@name+‘%’
查汽车表中所有汽车的平均值并输出
declare @price decimal(10,4)
select @price=avg(price) from car
print ‘所有汽车的平均价格为:’+cast(@price as varchar(20)) 表示数据转换
if…else 的用法,if 后面没有小括号,花括号用begin end 替代
if 判断条件
begin
要执行的语句
end
else
begin
要执行的语句
end
declare @a int
declare @b int
declare @c int
set @a=10
set @b=5
if @a>@b
begin
set @c=@a+@b
end
else
begin
set @c=@a-@b
end
print @c
case 变形到数据库里的用法
declare @ccname varchar(20)
set @ccname=‘宝马’
select * from car where name like case
when @ccname=‘宝马’ then’%宝马%’ 当…输出…
when @ccname=‘奥迪’ then’%奥迪%’
else ‘%’ 条件都不满足执行这个
end 结尾
循环:
注意循环四要素
declare @str varchar(20)
set @str=‘你好’
declare @i int
set @i=1
while @i<=10 条件
begin
print @str+cast(@i as varchar(20))
set @i=@i+1 循环体
end
注意:语句结束之后不要写分号或逗号