SQL 表值函数/标量函数
表值函数
定义表值函数
--定义表值函数
CREATE FUNCTION GetStuScore(@Stu_ID INT )
RETURNS TABLE
AS RETURN
(SELECT
MAX('学生'+CONVERT(NCHAR(10),[Stu_ID])) AS 学生
,MAX(CASE WHEN Course='语文' THEN ISNULL(Score,0) ELSE 0 END) AS 语文成绩
,MAX(CASE WHEN Course='数学' THEN ISNULL(Score,0) ELSE 0 END) AS 数学成绩
,MAX(CASE WHEN Course='英语' THEN ISNULL(Score,0) ELSE 0 END) AS 英语成绩
,CONVERT(DECIMAL(4,1),ROUND(AVG(Score),1)) AS 平均成绩
FROM [EFDemo].[dbo].[Table_1]
GROUP BY Stu_ID HAVING Stu_ID=@Stu_ID)
使用表值函数
--使用表值函数
SELECT * FROM GetStuScore(1)

标量函数
定义标量函数
--定义标量函数
CREATE FUNCTION GetScore(@Stu_ID INT,@Course NVARCHAR(10))
RETURNS FLOAT
AS
BEGIN
DECLARE @Score FLOAT
SELECT @Score=Score FROM dbo.Table_1 WHERE Stu_ID=@Stu_ID AND Course=@Course
RETURN @Score
END
使用标量函数
--使用标量函数
SELECT GetScore(1,'语文')

SQL 表值函数/标量函数的更多相关文章
- T-SQL编程 —— 用户自定义函数(标量函数)
用户自定义函数 在使用SQL server的时候,除了其内置的函数之外,还允许用户根据需要自己定义函数.根据用户定义函数返回值的类型,可以将用户定义的函数分为三个类别: 返回值为可更新表的函数 如果用 ...
- sql server 获取存储过程,表值,标量函数的参数
所有的参数都是存在 sys.parameters 这个表中的,我们可以仿造 sql得到表中的列信息 这篇中的sql语句(提示:我们在表值函数中创建的表,最后我们是返回这个表的,我们可以用这个sql语句 ...
- 转载——CLR标量函数、表值函数和聚合函数(UDA)
本节主要介绍使用CLR创建标量函数,表值函数和聚合函数. 所谓标量函数指的就是此函数只返回一个值.表值函数返回值是一个表.聚合函数是在select语句中使用的,用来聚合一个结果集,类似于Sum()或是 ...
- SQL Server如何定位自定义标量函数被那个SQL调用次数最多浅析
前阵子遇到一个很是棘手的问题,监控系统DPA发现某个自定义标量函数被调用的次数非常高,高到一个离谱的程度.然后在Troubleshooting这个问题的时候,确实遇到了一些问题让我很是纠结,下文是解决 ...
- SQL Server 性能优化之——T-SQL TVF和标量函数
阅读导航 1. TVF(表-值行数Table-Valued Functions) a. 创建TVF b. 使用TVF的低性能T-SQL c. 使用临时表 ...
- SQL Server--用户自定义函数
除了使用系统提供的函数外,用户还可以根据需要自定义函数.用户自定义函数是 SQL Server 2000 新增的数据库对象,是 SQL Server 的一大改进.与编程语言中的函数类似,Microso ...
- SQL 中用户定义函数的使用方法
--用户定义函数的分类: /* 1.标量函数 2.表值函数 2.1内联表值函数 返回单个SELECT语句, 它没有相关的返回变量和函数体 2.2多语句表值函数 是视图和存储过程的结合 可嵌套 */ ...
- SQL表值函数和标量值函数的区别
SQL表值函数和标量值函数的区别 写sql存储过程经常需要调用一些函数来使处理过程更加合理,也可以使函数复用性更强,不过在写sql函数的时候可能会发现,有些函数是在表值函数下写的有些是在标量值下写的, ...
- PCB MS SQL 标量函数与表值函数(CLR) 实现文件与目录操作
一.C#写SQL SERVER(CLR)实现文件操作 标量函数: 文件移动 ,复制,检测文件存在,写入新文件文本,读取文本,创建目录,删除目录,检测目录是否存在 /// <summary> ...
随机推荐
- Windows系统桌面右击反应变慢、卡顿问题解决方法
博主的电脑是Win10系统,在修改完系统的用户文件夹名后,桌面右击出现了反应卡顿的现象,并且点击输入法,也变得卡顿.问题解决后,于是想简单记录一下. 还是注册表的问题,使用Win+R快捷键,打开运行, ...
- 任务型对话(一)—— NLU(意识识别和槽值填充)
1,概述 任务型对话系统越来越多的被应用到实际的场景中,例如siri,阿里小密这类的产品.通常任务型对话系统都是基于pipline的方式实现的,具体的流程图如下: 整个pipline由五个模块组成:语 ...
- [Swift]浙大美女学霸征婚问题
问题1:求乘积为(7140229933)的两个质数? Solution: import Foundation class Solution { func findBeauty(_ number:Int ...
- IDEA设置热部署
1.点击File找到Settings打开. 1.2:找到Compiler将 Build project automatically 勾选 2.使用快捷键 Ctrl+Shift+A 搜索 re ...
- 7.Flask文件上传
1.1.上传文件和访问上传的文件 upload_file_demo.py from flask import Flask,request,render_template import os from ...
- sklearn中的Pipeline
在将sklearn中的模型持久化时,使用sklearn.pipeline.Pipeline(steps, memory=None)将各个步骤串联起来可以很方便地保存模型. 例如,首先对数据进行了PCA ...
- Linux性能评估工具
目录 介绍 负载:uptime 查看内核的信息: dmesg 查看内存状态: free.vmstat free: 查看内存,已用内存,剩余内存.交换分区等 vmstat:显示虚拟内存状况的信息. 查看 ...
- Spring Boot 2.0 的快速入门(图文教程)
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! Spring Boot 2.0 的快速入门(图文教程) 大家都 ...
- C++11 (多线程)并发编程总结
| 线程 std::thread 创建std::thread,一般会绑定一个底层的线程.若该thread还绑定好函数对象,则即刻将该函数运行于thread的底层线程. 线程相关的很多默认是move语义 ...
- 【设计模式+原型理解】第一章:使用Javascript来巧妙实现经典的设计模式
刚开始学习设计模式之前,我是没想说要学习设计模式的,我只是因为想学习JS中的原型prototype知识,一开始我想JS中为什么要存在原型这个东西?于是慢慢通过原型而接触到设计模式,后来发现我这个过程是 ...