SQL基础函数

1、删除表的某一行数据:

delete from student.dbo.course where Cno = 1

2、查询表的内容:

select * from 表名

 3、datediff函数

DATEDIFF(datepart,startdate,enddate)

 

 4、

Datepart()返回代表指定日期的指定日期部分的整数

语法:Datepart(datepart,date)  返回类型:int

DateName():返回代表指定日期的指定日期部分的字符串

语法:DateName(datepart,date返回类型:nvarchar

5、cast函数

语法:


CAST (expression AS data_type)


参数说明:


expression:任何有效的SQServer表达式。


AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。


data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。

6、case 函数

 1 第一种 格式 : 简单Case函数 :
 2 case 列名
 3   when   条件值1   then  选择项1
 4   when   条件值2    then  选项2.......
 5   else     默认值     
 6 end
 7 第二种  格式 :Case搜索函数
 8 case  
 9   when  列名= 条件值1   then  选择项1
10   when  列名=条件值2    then  选项2
11   else    默认值 
12 end

7、保留小数 + convert + case when使用范例

 1 编写一个存储过程,统计某门课程的优秀(90-100)人数、良好(80-89)人数、中等(70-79)人数、及格(60-69)人数和及格率,其输入参数是课程号,输出的是各级别人数及及格率,及格率的形式是90.25%,执行存储过程,在消息区显示1号课程的统计信息。
 2 alter procedure statics @cno char(10)--!!!学习case when用法以及concat连接字符串
 3 as
 4 begin
 5     select count(case when grade >= 90 then 1 end) 优秀, 
 6     count(case when grade between 80 and 89 then 1 end) 良好, 
 7     count(case when grade between 70 and 79 then 1 end) 一般, 
 8     count(case when grade between 60 and 69 then 1 end) 及格, 
 9     concat(convert(decimal(18, 2), convert(float ,count(case when grade >= 60 then 1 end)) / convert(float, count(sno)) * 100), '%') 及格率
10     from sc
11     where cno = @cno
12 end

 

 

posted @ 2019-09-30 23:36  滚烫的青春  阅读(412)  评论(0编辑  收藏  举报