SQL Server 知识梳理八 函数的使用
来源:互联网 发布:淘宝水印怎么去掉 编辑:程序博客网 时间:2024/04/29 23:29
一、创建函数
1、语法
(1)创建标量函数
CREATE FUNCTION [ schema_name. ] function_name
( [ { @parameter_name [ AS ][ type_schema_name. ] parameter_data_type
[ = default ] [ READONLY ] }
[ ,...n ]
]
)
RETURNS return_data_type
[ WITH <function_option> [ ,...n ] ]
[ AS ]
BEGIN
function_body
RETURN scalar_expression
END
(2)创建内连表值函数
CREATE FUNCTION [ schema_name. ] function_name
( [ { @parameter_name [ AS ] [ type_schema_name. ] parameter_data_type
[ = default ] [ READONLY ] }
[ ,...n ]
]
)
RETURNS TABLE
[ WITH <function_option> [ ,...n ] ]
[ AS ]
RETURN [ ( ] select_stmt [ ) ]
[ ; ]
(3)创建并执行多语句表值函数
CREATE FUNCTION [ schema_name. ] function_name
( [ { @parameter_name [ AS ] [ type_schema_name. ] parameter_data_type
[ = default ] [READONLY] }
[ ,...n ]
]
)
RETURNS @return_variable TABLE <table_type_definition>
[ WITH <function_option> [ ,...n ] ]
[ AS ]
BEGIN
function_body
RETURN
END
[ ; ]
2、实例
①TeachingManageSYS创建一个内嵌表值函数chengji1,实现根据姓名查询该学生所有课程的成绩
create functionchengji(@namechar(10))
returns table
as
return(
select Cname,Scorefrom StudentCourse,StudentInfo,CourseInfo
where StudentInfo.Sno=StudentCourse.SnoAND
CourseInfo.Cno=StudentCourse.CnoAND
Sname=@name)
--查询
select * from chengji('魏士斌')
②TeachingManageSYS创建一个多语句表值函数,实现查询某一课程的考试成绩。
CREATE FUNCTION all_score(@cname_inchar(10))
RETURNS @all_score_tab table(Sno char(6)primarykey,Snamechar(10)notnull,Ssex char(2),Scorereal)
AS
BEGIN
INSERT INTO @all_score_tab
SELECT a.Sno,a.Sname,a.Ssex,b.Score
FROM StudentINFO a,StudentCourseb,CourseINFO c
WHERE a.Sno=b.SnoAND b.Cno=c.CnoAND c.Cname=@cname_in
RETURN
END
select *from all_score('数据库原理')
二、删除函数
1、语法
DROPFUNCTION { [ schema_name. ] function_name } [ ,...n ]
2、实例(略)
三、常用函数
1、字符串函数
Upper
将小写字符数据转换为大写的字符表达式
UPPER(character_expression)
Lower
将大写字符数据转换为小写的字符表达式
LOWER(character_expression)
Ltrim
删除起始空格后返回字符表达式
LTrim(character_expression )
RTrim
:截断所有尾随空格后返回一个字符串
RTrim (character_expression )
SubString
获取字符串
SUBSTRING ( expression , start , length )
LEN
求字符串长度
len(character_expression)
2、日期和时间函数
函数
参数
DATEADD
( datepart , number, date )
返回一个日期加上一个指定时间间隔数后时间
DATEDIFF
( datepart , date1 , date2 )
返回两个指定日期间时间间隔
GETDATE
()
返回当前系统日期和时间
DAY
( date )
返回代表指定日期的天的日期部分的整数
MONTH
( date )
返回代表指定日期月份的整数
YEAR
( date )
返回代表指定日期年份的整数
- SQL Server 知识梳理八 函数的使用
- SQL Server 知识梳理六 存储过程的使用
- SQL Server 知识梳理九 触发器的使用
- SQL Server 知识梳理二 表的管理
- SQL Server 知识梳理四 视图的管理
- SQL Server 知识梳理五 索引的管理
- SQL Server 知识梳理一 数据库管理
- SQL Server 知识梳理七 程序设计
- SQL Server 知识梳理三 数据增删改查
- SQL server 建表时的一些知识 常用的Sql函数
- share_ptr 的 知识梳理
- 知识系统的梳理
- plsql知识梳理-常用函数
- Sql Server REPLACE函数的使用
- SQL Server中的STUFF函数的使用
- SQL Server中的DATEPART函数的使用
- SQL Server中QUOTENAME函数的使用
- 使用SQL Server的OPENROWSET函数
- 杭电2672
- C语言计算字符串的长度strlen
- 遍历memcache中已缓存的key及 php缓存控制
- 双系统如何正确的删除Ubuntu
- 最近距离 已知平面上的若干点的位置,存入一个List中。现在需要计算所有这些点中,距离最近的两个点间的最小距离。
- SQL Server 知识梳理八 函数的使用
- Java学习笔记计划和前言
- 黑马程序员_java基础day08
- windows 和 linux双系统改变 grub 的启动顺序
- 我的CSDN博客处女作
- div和span标签
- TStringList 常用方法与属性:
- Windows CE下中文输入法编辑器
- 模压