wordpress bt种子站源码/结构优化是什么意思
目录
前言
一、系统内置函数
1、数学函数
2、日期和时间函数
3、聚合函数
4、字符串函数
二、自定义函数
1、标量函数的创建与调用
2、内嵌表值函数的创建与调用
3、多语句表值函数的创建与调用
前言
函数是由一个或多个 T-SQL 语句组成的子程序,可用于封装代码以便重复使用。
一、系统内置函数
T-SQL提供的内置函数,按照返回值是否具有确定性可分为确定性函数和非确定性函数两大类。
- 确定性函数:每次使用特定的输入值调用该函数时,返回的结果都相同。
- 非确定性函数:每次使用特定的输入值调用时,返回的结果都不同。
函数 DATEADD为确定性函数,因为对于任何给定参数,返回的结果总是相同。函数 GETDATE为非确定性函数,因为每次执行这个函数,返回的结果都不同。
1、数学函数
函数名称 | 函数功能 | 函数名称 | 函数功能 |
ABS | 求绝对值 | POWER | 求 x的 y 次方 |
COS | 余弦函数 | RAND | 求随机数 |
COT | 余切函数 | ROUND | 四舍五入 |
EXP | 计算 e的 x次幂 | SIN | 正弦函数 |
FLOOR | 求仅次于最小值的值 | SQUARE | 开方 |
LOG | 求自然对数 | SQRT | 求平方根 |
PI | 常量,圆周率 | TAN | 正切函数 |
2、日期和时间函数
- GETDATE():返回系统当前的日期和时间。
- DATEADD(datepart, integer_expression, date_expression):返回指定日期 date_expression(日期表达式)加上指定的额外日期间隔 integer_expression(整形表达式)产生的新日期。
- DATEDIFF(datepart, date_expression1, date_expression2):返回两个指定日期在 datepart 方面的不同之处,即 date_expression2 超过 date_expression1 的差值,结果值是一个带有正负号的整数值。
- DATENAME(datepart, date_expression):以字符串的形式返回日期的指定部分,此部分由 datepart 来指定。
- DATEPART(datepart, date_expression):以整数值的形式返回日期表达式的指定部分。此部分由 datepart 来指定。
- day(date_expression):返回日期表达式中的日。
- month(date_expression):返回日期表达式中的月。
- year(date_expression):返回日期表达式中的年。
DATEPART() 函数 和 DATENAME 函数极其相似,只不过前者返回的是时间的名称,后者返回的是具体的时间数值。
3、聚合函数
函数名 | 描述 |
sum(列名) | 返回一个数字列的总和。 |
avg(列名) | 对一个数据列计算平均值。 |
min(列名) | 返回一个数字、字符串或日期列的最小值。 |
max(列名) | 返回一个数字、字符串或日期列的最大值。 |
count(列名) | 返回一个列的数据项数,条数。 |
count(*) | 返回找到的函数 |
4、字符串函数
- ASCII(char_expression):返回表达式最左边一个字符的 ASCII码。
- CHAR(integer_expression):返回整数所代表的 ASCII码值所对应的字符。
- LOWER(char_expression):将大写字符转为小写字符。
- UPPER(char_expression):将小写字符转为大写字符。
- LTRIM(char_expression):删除字符串开始部分的空格。
- RTRIM(char_expression):删除字符串结尾部分的空格。
- RIGHT(char_expression, integer_expression):返回 char_expression 字符串中 integer_expression 个字符以后的部分字符串,integer_expression为负数时,返回 NULL。
- SPACE(integer_expression):返回由 integer_expression 个空格组成的字符串,integer_expression为负数时,返回 NULL。
- STR(float_expression [ , length [ , decimal ] ]):将一个数值类型数据转为字符串,length 为字符串长度,decimal 为小数点的位数。
- STUFF(char_expression1, start, length, char_expression2):从 char_expression1 字符串的 start个字符位置删除 length个字符,然后把 char_expression2 字符串插入到 char_expression1 的 start 处。
- SUBSTRING(expression, start, length):从 expression 的第 start 个字符处返回 length 个字符。
- REVERSE(char_expression):返回 char_expression 的逆序。
- CHARINDEX( ' pattern ', char_expression ):返回指定 pattern字符串在表达式中的起始位置。
二、自定义函数
在 SQL SERVER 中,根据函数返回值类型,将不同自定义函数分为 标量函数、内嵌表值函数 和多语句表值函数。
- 标量函数:返回一个确定类型的变量值,其返回值类型除了 TEXT、NTEXT、IMAGE、CURSOR、TIMESTAMP 和 TABLE 类型外的其它数据类型。函数体语句定义在 BEGIN ··· END 语句内。
- 内嵌表值函数:返回值为一个表。内嵌表值函数没有由 BEGIN ··· END 语句括起来的函数体。返回的表由一个位于 RETURN 子句中的 SELECT 命令段从数据库中筛选出来。内嵌表值函数功能相当于一个参数化的试图。
- 多语句表值函数:可以看作是 内嵌表值函数和内嵌表值函数的结合体。它返回的是一个表,但它和标量函数一样有一个用 BEGIN ··· END 括起来的函数体,返回值的表中的数据是由函数体中的语句插入的。因此,它可以进行多次查询,对数据进行多次筛选与合并,弥补了内嵌表值函数的不足。
1、标量函数的创建与调用
-- 创建标量函数的语法格式
CREATE FUNCTIOIN [ owner_name. ] function_name /* 函数名部分 */
( [ { @parameter_name [ AS ] parameter_data_type
[ = DEFAULT ] } [ , ... n ] ] ) /* 形参定义部分 */
RETURNS return_data_type /* 返回参数的类型 */
[ AS ]
BEGIN
function_body /* 函数体部分 */
RETURN expression /* 返回语句 */
END
-- owner_name:指定自定义函数的所有者。
-- function_name:指定自定义函数的名称。
-- @parameter_name:定义一个或多个参数,一个函数最多可以定义1024个参数,参数的作用范围是整个函数。
-- parameter_data_type 和 return_data_type 指定参数的数据类型和 返回值类外的其它数据类型。
-- function_body:是函数体部分,决定了函数的返回值。
-- expression:指定自定义函数返回的标量值表达式。
-- 当函数参数由默认值时,调用该函数时必须指定默认 DEFAULT 关键字才能获取默认值。
-- 示例:求 sc表中某门课程的平均成绩。
create function average (@cn char(20)) returns float
as
begin
declare @aver float
select @aver = (select avg(score) from sc where sno = @cn)
return @aver
end
-- 调用标量函数的语法格式
owner_name.function_name (parameter_expression 1 ··· parameter_expression n)
-- 含义为: 所有者. 函数名(实参1, 实参2, ... , 实参n)。
当调用自定义的标量函数时,必须提供至少由两部分组成的名称(所有者. 函数名)。可以在 SELECT 语句中调用,实参可为已赋值的局部变量或表达式;也可以使用 EXECUTE 语句调用,方法与调用存储过程相同。
-- 示例:求 C001号课的平均成绩。
declare @course char(6)
set @course = 'C001'
select dbo.average(@course) as 'C001号课的平均成绩'
2、内嵌表值函数的创建与调用
-- 创建内嵌表值函数的语法格式
CREATE FUNCTIOIN [ owner_name. ] function_name /* 函数名部分 */
( [ { @parameter_name [ AS ] parameter_data_type
[ = DEFAULT ] } [ , ... n ] ] ) /* 形参定义部分 */
RETURNS table /* 返回参数的类型 */
[ AS ]
RETURN [ ( SELECT statement ) ] /* 通过 SELECT 语句返回内嵌表 */
-- table:指定返回值为一个表。
-- SELECT statement:指单个 SELECT语句,确定返回的表的数据。
-- 示例:查看某个专业所有学生的学号、姓名、所选课程的课程号和成绩。
create function st_func(@major nvarchar(20)) returns table
as return
(select student.sno, student.sname, sc.cno, sc.score from student, sc
where specialty = @major and student.sno = sc.sno)
因为内嵌套表值函数的返回值为 table 类型,所以在调用这类函数时,只能通过 SELECT语句。
-- 示例:查看计算机专业所有学生的学号、姓名、所选的课程号和成绩。
select * from st_func('计算机')
3、多语句表值函数的创建与调用
内嵌表值函数 和多语句表值函数的返回值都是表,其不同之处在于,内嵌表值函数没有函数体,返回的表是单个 SELECT语句的结果集;而多语句表值函数在 BEGIN ··· END 块中定义的函数主体包含 T-SQL 语句,这些语句可生成行,并将行插入至表中,最后返回表。
-- 多语句表值函数的创建语法格式
CREATE FUNCTIOIN [ owner_name. ] function_name /* 函数名部分 */
( [ { @parameter_name [ AS ] parameter_data_type
[ = DEFAULT ] } [ , ... n ] ] ) /* 定义函数参数部分 */
RETURNS @return_variable table <table_definition> /* 定义作为返回值的表 */
[ AS ]
BEGIN
function_body /* 函数体部分 */
RETURN
END
-- @return_variable:是一个 TABLE 类型的变量,用于存储和累积返回的表中的数据行。其余参数与标量函数相同。
-- 示例:创建多语句表值函数,通过学号作为实参调用该函数,可显示该学生的姓名,以及各门功课的成绩和学分。
create function st_score (@no char(20)) returns @score table
(
s_no char(20),
s_name nvarchar(20),
c_name nvarchar(20),
c_score tinyint,
c_credit tinyint
)
as
begin
insert into @score
select s.sno, s.sname, c.cname, sc.score, c.credit
from student s, course c, sc sc
where s.sno = sc.sno and sc.cno = c.cno and s.sno = @co
return
end
多语句表值函数的调用方法与内嵌表值函数的调用方法相同,只能通过 SELECT 语句调用。
-- 示例:查询201602001号学生的姓名以及各门功课的成绩和学分。
select * from st_score('201602001')
若有不足之处,欢迎大佬斧正。
相关文章:

SQL中的函数
目录 前言 一、系统内置函数 1、数学函数 2、日期和时间函数 3、聚合函数 4、字符串函数 二、自定义函数 1、标量函数的创建与调用 2、内嵌表值函数的创建与调用 3、多语句表值函数的创建与调用 前言 函数是由一个或多个 T-SQL 语句组成的子程序,可用于封…...

VSCode | 修改编辑器注释的颜色
1 打开VsCode的设置进入settings.json 2 添加如下代码 "editor.tokenColorCustomizations": {"comments": "#17e917"},3 保存即可生效...

媒体邀约专访与群访的区别?
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体邀约中的专访与群访在多个方面存在显著差异,以下是对这两种采访方式的详细比较: 一、定义与形式 专访: 定义:专访是指由媒体记者对单…...

Pycharm2024最新版community社区版下载安装配置,快速上手
第一步:下载 方法1:官网链接 https://www.jetbrains.com/pycharm/download/?sectionwindows .方法2:百度网盘 链接:https://pan.baidu.com/s/1ic2N5hUQ2m1Kmyr5nK9Jxw?pwd76dt 提取码:76dt --来自百度网盘超级…...

服务器选择租用还是托管?托管和租用哪个比较划算
在构建或扩展IT基础设施时,服务器作为关键组件,其选择方式——租用或托管,直接关系到企业的运营成本、灵活性、安全性及长期发展战略。本文将从技术、经济、安全等多个维度,深入解析这两种方案的优缺点,并探讨在何种情…...

智能制造·数字化工厂建设规划方案(65P)
获取完整PPT见下图 更多有关华为研发管理/IPD、MBSE、PLM、ERP、MES、数据治理、数字样机等方面免费解决方案、资料获取,请见下图...

ACM中国图灵大会专题 | 图灵奖得主Manuel Blum教授与仓颉团队交流 | 华为论坛:面向全场景应用编程语言精彩回顾
ACM 中国图灵大会(ACM Turing Award Celebration Conference TURC 2024)于2024年7月5日至7日在长沙举行。本届大会由ACM主办,in cooperation with CCF,互联网之父Vinton Cerf、中国计算机学会前理事长梅宏院士和廖湘科院士担任学术…...

k8s 公共服务
修改named.conf。修改第13行和第21行 下面是 named.rfc1912 修改位置,在最后 所以用cp -p 复制文件,保留权限 nslookup 回车,server是看哪个dns 在起作用 dns服务器要配置给所有公共服务节点和 k8s 节点 就在网络文件加个DNS2就行了&…...

【数据分析详细教学】全球气温变迁:一个多世纪的数据分析
全球气温变迁:一个多世纪的数据分析 1. 数据集选择与获取 数据可以从NASA的GISTEMP数据集获取,通常提供的格式有TXT和CSV。我们假设数据是以CSV格式提供。 2. 数据预处理 使用Python的pandas库读取数据并进行预处理。 import pandas as pd# 加载数…...

AV1技术学习:Reference Frame System
一、Reference Frames AV1 Codec 允许在其解码的帧缓冲区中最多允许保存 8 帧。对于一个编码帧,可以从解码的帧缓冲区中选择任意 7 个帧作为它的参考帧。编码端可以通过比特流显式地传输参考帧索引,范围从 1到 7。原则上,参考帧索引 1-4 为当…...

数学建模(7)——Logistic模型
一、马尔萨斯人口模型 import numpy as np import matplotlib.pyplot as plt# 初始人口 N0 100 # 人口增长率 r 0.02 # 时间段(年) t np.linspace(0, 200, 200)# 马尔萨斯人口模型 N N0 * np.exp(r * t)# 绘图 plt.plot(t, N, labelPopulation) plt.…...

“微软蓝屏”事件,给IT行业带来的宝贵经验和教训
“微软蓝屏”事件是指2024年7月19日发生的一次全球性技术故障,主要涉及微软视窗(Windows)操作系统及其相关应用和服务。 以下是对该事件的详细解析: 一、事件概述 发生时间:2024年7月19日事件影响:全球多个…...

QT总结——图标显示坑
最近写代码遇到一个神仙大坑,我都怀疑我软件是不是坏了,这里记录一下。 写qt工程的时候我们一般会设置图标,这个图标是窗体的图标同时也是任务栏的图标,但是我发现生成的exe没有图标,这个时候就想着给他加一个图标&…...

SQL 注入漏洞详解 - Union 注入
1)漏洞简介 SQL 注入简介 SQL 注入 即是指 Web 应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在 Web 应用程序中事先定义好的查询语句的结尾上添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,…...

Qt创建自定义组件并且promote to之后导致编译错误(CMake)
创建自定组件并且加入到全局(勾选"Global include"选项)后,重新编译,元对象编译器生成的ui_xxxx.h文件中会新加入自定义组件的头文件: 如图所示,编译器提示找不到自定义组件的头文件: Solution: 在CMakeL…...

告别写作瓶颈,4款AI协作工具助你迸发灵感
想要一个可以理解你思路,捕捉你灵感,并且帮你将这些内容转化为高质量文本的工具吗?现下大火的ai智能写作就能做到。 1 宙.语AI 传送门:https://ailjyk.com/pc 这个工具也是一种在线的AI工具。他可以写的文章种类非常多&#…...

java30-Shiro
概述 解决认证和授权 基本使用 package com.xpc.simple;import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.mgt.DefaultSecurityManager; import org.apache.shiro.realm.SimpleAccountRealm; import o…...

【linux驱动开发】卸载驱动时报错:Trying to free already-free IRQ 0
【linux驱动开发】free_irq时报错:Trying to free already-free IRQ 0 卸载驱动时报错Trying to free already-free IRQ 0 第一次加载卸载驱动没有任何问题。第二次加载驱动,按键中断触发失效,卸载驱动时报错:Trying to free already-free IRQ 0 看了…...

SpringBoot如何解决yml明文密码问题
博客主页: 南来_北往 🔥系列专栏:Spring Boot实战 前言 在现代的软件开发中,安全性是一个重要的考量因素。对于使用SpringBoot框架开发的应用程序而言,敏感信息如数据库密码、API密钥等通常存储在YAML配置文件中…...

SDL常用结构体和函数接口
1. 结构体 SDL_Window:SDL库中用于表示应用程序窗口的结构体。它封装了一个操作系统窗口的所有属性和功能,是创建图形用户界面的基础。通过创建一个SDL_Window,开发者可以定义窗口的初始大小、位置、是否全屏、是否具有边框等属性࿰…...

【数据结构】AVL树(图文解析 + 代码实现)
目录 1、AVL树的概念 2、AVL树结点的定义 3、AVL树的插入 4、AVL树的旋转 4.1 左单旋 4.2 右单旋 4.3 右左双旋 4.4 左右双旋 5、AVL树的验证 6、AVL树的性能 前面对map/multimap/set/multiset进行了简单的介绍,会大仙,这几个容器有个共同点是…...

HTML(六)——HTML表单和框架
HTML 表单 HTML 表单用于收集用户的输入信息,是一个包含表单元素的区域 HTML 表单表示文档中的一个区域,此区域包含交互控件,将用户收集到的信息发送到 Web 服务器。 HTML 表单通常包含各种输入字段、复选框、单选按钮、下拉列表等元素。 …...

【Qt 】JSON 数据格式详解
文章目录 1. JSON 有什么作用?2. JSON 的特点3. JSON 的两种数据格式3.1 JSON 数组3.2 JSON 对象 4. Qt 中如何使用 JSON 呢?4.1 QJsonObject4.2 QJsonArray4.3 QJsonValue4.4 QJsonDocument 5. 构建 JSON 字符串6. 解析 JSON 字符串 1. JSON 有什么作用? &#x…...

路由表与IP数据报转发:基础小白指南
目录 1. 路由表的基本概念 2. 路由表中的默认路由 3. IP数据报的转发流程 4. 路由聚合 5. 最长前缀匹配 总结 在网络世界中,IP数据报的转发是如何进行的? 这篇文章将带你深入了解路由表的基本概念和IP数据报的转发流程。我们会用简洁明了的语言和实…...

python—selenium爬虫
文章目录 Selenium与Requests对比一、工作原理二、功能特点三、性能表现 下载对应驱动1.首先我们需要打开edge浏览器,打开设置,找到“关于Microsoft Edge”,点击进入查看浏览器版本。2.查找版本之后,搜索edge驱动下载,…...

Mysql - 索引
目录 一、存储引擎 二、索引 索引结构 索引分类 索引语法 联合索引 前缀索引 索引使用规则 最左前缀法则 范围查询使索引失效 字段做运算操作索引失效 字符串字段不加单引号索引失效 字段做前模糊查询索引失效 or连接条件索引失效 数据发布情况索引失效 指定使用…...

从课本上面开始学习的51单片机究竟有什么特点,在现在的市场上还有应用吗?
引言 51单片机,作为一种经典的微控制器,被广泛应用于各种嵌入式系统中。尽管如今ARM架构的高性能低成本单片机在市场上占据主导地位,但51单片机凭借其独特的优势依然在某些领域保持着应用价值。本文将深入探讨51单片机的特点、架构、应用以及…...

uniapp中出现Uncaught runtime errors
项目中运行出现上面的错误信息,使用uniapp发现,其实我只是跨域了,控制台报错,但是不想屏幕上显示; 解决办法是在vue.config.js增加如下配置即可 devServer: {client: {overlay: false,errors:true},}, 错误信息也不想…...

数字信号处理基础知识(二)
在介绍完“离散时间序列”基本概念和性质后,实际上就已经踏入了“数字信号处理”这门学科的学习征程,这篇文章里主要去说明“线性时不变系统”的定义概念和探讨“周期采样”的注意细节,相信更加理解这些概念定义和底层逻辑,对于大…...

人生低谷来撸C#--015 C# 属性(Property)
1、概念 在C#中,属性(Property)是一种特殊的成员,它提供了一种灵活的机制来访问和修改对象的状态(即类的字段)。属性结合了字段和方法的特性,使得数据的访问和修改更加安全和便捷。下面我用一个…...