sql数据库高级编程总结(一)

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
在这里插入图片描述
注意:语句结束之后不要写分号或逗号

猜你喜欢

转载自blog.csdn.net/zch981964/article/details/129025177
今日推荐