数据库——实 验 8 SQL 编程

1.T-SQL  语言简介

SQL Server 使用的语言称作 Transact-SQL,   它不仅包括基本 SQL  操作的内容,如 SQL 的数据查询功能和数据操作功能等,还有一般程序设计的能力。

2. 局部变量和全局变量的概念

1)局部变量

局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量被引用时要在其名称前加上标志“@”,而且必须先用 DECLARE 命令定义后才可以使用。

定义局部变量的语法形式如下:

DECLAER {@local_variable data_type} […n]

  @local_variable  用于指定局部变量的名称,变量名必须以符号@开头。 

参数  data_type   用于设置局部变量的数据类型及其大小。

使用 DECLARE 命令声明并创建局部变量之后,会将其初始值设为 NULL,  如果想要设定局部变量的值,必须使用SELECT 命令或者 SET 命令。其语法形式为:

SET{(@local_variable=expression }或者 SELECT{@local_variable=expression}[ ,…n ]

  @local_variable  是给其赋值并声明的局部变量。

参数 expression  是任何有效的 SQL  Server 表达式。

2)全局变量

除了局部变量之外,SQL Server系统本身还提供了一些全局变量。全局变量是 SQL Server 系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变量通常存储一些 SQL  Server 的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL  命令执行后的状态值。

在使用全局变量时应该注意以下几点

(1)全局变量不是由用户的程序定义的,它们是在服务器级定义的。

(2)用户只能使用预先定义的全局变量。

(3)引用全局变量时,必须以标记符“@@”开头。

(4)局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。

3. 系统函数的使用

SQI,Server 2005给用户提供了功能全面、种类丰富的函数,常用的函数可以分为以下 几类:

1)行集函数

行集函数是返回值为对象的函数,该对象可在T-SQL.语句中作为表引用。所有行集函数都是非确定的,即每次用一组特定参数调用它们时,所返回的结果不总是相同的。

2)聚合函数

聚合函数对一组值操作,返回单一的汇总值。常用的聚合函数如表1-4所示。函数在如下情况下,允许作为表达式使用。

(1)SELECT 语句的选择列表(子查询或外部查询),

(2)COMPUTE   COMPUTE BY子句。

(3)HAVING 子句。

3)Ranking 函数

Ranking  函数为查询结果数据集分区中的每一行,并返回一个序列值。依据此函数, 些行可能取得和其他行一样的序列值。

4)标量函数

标量函数用于对传递给它的一个或者多个参数值进行处理和计算,并返回一个单一的值

常用的标量函数有如下几类:

(1)字符串函数

 基本字符串函数

UPPER(): 将小写字母转换成大写字母。

LOWER(): 把大写字母转换成小写字母。

SPACE(): 产生空格字符串。

REPLICATE(): 重复一个字符表达式若干次

STUFF(): 用一个子串按规定取代另一个子串。

REVERSE(): 取字符串的逆序。

LTRIM(): 删除字符串的前导空格。

RTRIM(): 删除字符串的尾部空格。

 字符串查找函数

CHARINDEX(): 返回一个子串在字符串表达式中的起始位置。

PATINDEX(): 返回一个子串在字符串表达式中的起始位置,在子串中可以使用通配符“%”。

 长度和分析函数

DATALENGTH(): 返回字符串的长度。

SUBSTRING(): 取子串函数。

RIGHT(): 从字符串的右部取子串。

 转换函数

ASCI(): 返回字符串表达式最左面字符的 ASCIⅡ码值。

CHAR(): 把一个表示 ASCIⅡ代码的数值转换成对应的字符。

STR(): 将数值转换成字符串。

SOUNDEX(): 返回两个字符串发音的匹配程度。

DIFFERENCE(): 返回两个字符串的匹配程序。

(2)日期时间函数

DATEADD(): 在一个日期值上加上一个间隔,返回值是 datetime

DATEDIFF(): 计算两个日期值之间的间隔,返回值是一个整数。

DATENAME(): 返回表示日期中某部分的字符串。

DATEPART(): 返回表示日期中某部分的数值。

DAY(): 返回指定日期的天数。

GETDATE(): 返回当前的日期和时间。

MONTH(): 返回指定日期的月份数。

YEAR(): 返回指定日期的年份数。

(3)数学函数

数学函数用于对数字表达式进行数学运算并返回运算结果。数学函数可以对SQL  Server 提供的数字数据(decimal、integerfloat real money smallmoney smallint  tinyint) 进行处理。

(4)系统函数

系统函数用于返回有关 SQL Server 系统、用户、数据库和数据库对象的信息。系统函 数可以让用户在得到信息后,使用条件语句,根据返回的信息进行不同的操作。与其他函数一样,可以在 SELECT 语句的 SELECT  WHERE 子句以及表达式中使用系统函数。

系统函数中有两个转换函数: CONVERT   CAST

CAST  函数允许把一个数据类型强制转换为另一种数据类型,其语法形式为:

CAST(expression AS data_type)

CONVERT   函数允许用户把表达式从一种数据类型转换成另一种数据类型,还允许把日期转换成不同的样式,其语法形式为:

CONVERT (data_type [ (length)] ,expression [,style])

4. 流程控制语句的使用

流程控制语言是T-SQL  ANSI-92   SQL标准的扩充。它可以控制SQL 语句执行的顺序,在存储过程、触发器和批中很有用。流程控制语言主要包括:

·IF…ELSE 语句:条件判断语句。

·BEGIN…END 语句:将一组 SQL 语句作为一个语句块。

·GO 语句:是批的结束语句。

·CASE 语句:多条件分支选择语句。

·WHILECONTINUEBREAK 语句:用于设置重复执行 SQL 语句或语句块的条件。

·GOTO 语句:无条件转移语句。

·WAITFOR 语句:用于暂时停止执行 SQL 语句、语句块或者存储过程等。

·RETURN 语句:无条件返回语句。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/570795.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多目标应用:基于非支配排序粒子群优化算法NSPSO求解无人机三维路径规划(MATLAB代码)

一、无人机多目标优化模型 无人机三维路径规划是无人机在执行任务过程中的非常关键的环节,无人机三维路径规划的主要目的是在满足任务需求和自主飞行约束的基础上,计算出发点和目标点之间的最佳航路。 1.1路径成本 无人机三维路径规划的首要目标是寻找…

html网页在展示时,监听网络是否断网,如果断网页面暂停点击响应

序言: 集合百家之所长,方著此篇文章,废话少说,直接上代码,找好你的测试网页,进行配置,然后复制粘贴代码,就可以了。 1.css文件内容 #newbody{display: none;width: 100%;height: 9…

【用户投稿】Apache SeaTunnel 2.3.3+Web 1.0.0版本安装部署

项目概要 Apache SeaTunnel 是一个分布式、高性能、易扩展的数据集成平台,用于实时和离线数据处理,支持多种数据源之间的数据迁移和转换。 其中,Apache-seatunnel-web-1.0.0-bin.tar.gz和apache-seatunnel-2.3.3-bin.tar.gz代表了 Apache SeaTunnel Web…

python语言实现语音合成(文字转语音)

python语言实现语音合成(文字转语音) 在Python中实现文本到语音——语音朗读功能,可以使用pyttsx3库。pyttsx3库的安装和使用也相对简单,但在控制语音的暂停、继续和停止功能方面可能存在一定的困难。 首先,您需要安装…

北航计算机软件技术基础课程作业笔记【4】

题目&#xff08;好像以前没加&#xff09; 二叉树与哈希表 作业 1.二叉树前序遍历结果 二叉树结构为 代码实现中序后序推理前序表达式 #include <iostream> #include <stack> #include <string> #include <vector> #include <deque> ​ // …

H800算力低至5.99元/卡时!抢鲜体验LLaMA3最佳实践就在潞晨云

由Meta发布的LLaMA3 8B和LLaMA3 70B的&#xff0c;将开源AI大模型推向新的高度。在多个基准测试上的表现均大幅超过已有竞品&#xff0c;成为AI应用的最新优选。 潞晨云现已上架 LLaMA3 8B和LLaMA3 70B从推理到微调和预训练的实践教程。 提供免费测试代金券&#xff0c;限时特…

yolov8 区域多类别计数

yolov8 区域多类别计数 1. 基础2. 计数功能2.1 计数模块2.2 判断模块 3. 初始代码4. 实验结果5. 完整代码6. 源码 1. 基础 本项目是在 WindowsYOLOV8环境配置 的基础上实现的&#xff0c;测距原理可见上边文章 2. 计数功能 2.1 计数模块 在指定区域内计数模块 region_point…

附近商户-GEO数据结构的基本用法

10、附近商户 10.1、附近商户-GEO数据结构的基本用法 GEO就是Geolocation的简写形式&#xff0c;代表地理坐标。Redis在3.2版本中加入了对GEO的支持&#xff0c;允许存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。常见的命令有&#xff1a; GEOADD&#xff1a…

Docker的介绍及应用

1.什么是Docker 我们在部署大型项目的时候&#xff0c;肯定会遇到这种问题&#xff0c;大学项目组件较多&#xff0c;运行环境复杂&#xff0c;部署时会碰到一些问题&#xff1a;例如node、redis、mysql等这些应用都有自己的依赖和函数库。这种复杂的依赖关系很容易出现兼容问…

【GitHub】github学生认证,使用copilot教程

github学生认证并使用copilot教程 写在最前面一.注册github账号1.1、注册1.2、完善你的profile 二、Github 学生认证 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每日百字篆刻时光&#xff0c;感谢你的陪伴与支持 ~ &#x1f680; 欢迎一起踏上探险之旅&a…

Python PyTorch 获取 MNIST 数据

Python PyTorch 获取 MNIST 数据 1 PyTorch 获取 MNIST 数据2 PyTorch 保存 MNIST 数据3 PyTorch 显示 MNIST 数据 1 PyTorch 获取 MNIST 数据 import torch import numpy as np import matplotlib.pyplot as plt # type: ignore from torchvision import datasets, transform…

如何修复U盘在Windows 10上断开又重新连接的问题?这里有方法

序言 有时,当你把U盘连接到电脑上时,U盘每隔几秒钟就会断开连接并重新连接,这导致你无法正常复制和传输文件,这真的很烦人。硬件或驱动程序可能有问题。 在这种情况下,你需要确保此U盘与其他计算机是否正常工作。如果是,则表示你的驱动器没有问题。如果不是,不要担心。…

基于RK3588的全国产鸿蒙边缘计算工控机在智能交通ETC收费系统的应用

1.1 产品简介 基于智能交通、工业互联等行业快速智能化发展的需求&#xff0c;以 OpenHarmony 为框架开发嵌入 HamonyOS&#xff0c;打造了具有高智能、高可靠、高安全的自主 可控的边缘处理器 XM-RK3588。 图 1-1 边缘处理器 HamonyOS强化 IoT 互联互动能力&#xff0c;让边缘…

Java-Collection集合极其遍历

Collection是Java中的一种单列集合&#xff0c;即每次添加只能添加一个元素。它是单列集合的祖宗接口&#xff0c;其功能是全部单列集合都可以使用的 常用方法&#xff1a; public boolean add(E e) 将特定对象添加到当前集合中public void clear() 清空集合public boolean r…

SWOT分析法:知彼知己的战略规划工具

文章目录 一、什么是SWOT分析法二、SWOT分析法如何产生的三、SWOT分析法适合哪些人四、SWOT分析法的应用场景五、SWOT分析法的优缺点六、SWOT分析实例 一、什么是SWOT分析法 SWOT分析法是一种用于评估组织、项目、个人或任何其他事物的战略规划工具。SWOT是Strengths&#xff…

我们该如何看待AIGC(人工智能)

目录 AIGC的概述&#xff1a; AIGC的发展经历&#xff1a; AIGC的概述&#xff1a; [TOC]( &#x1f680;文章目录) ---AIGC全称为AI-Generated Content&#xff0c;指基于生成对抗网络GAN、大型预训练模型等人工智能技术&#xff0c;通过已有数据寻找规律&#xff0c;并通过…

智能化安全防护:AI防火墙的原理与应用

随着人工智能技术的迅猛发展&#xff0c;其在各个领域的应用也日益广泛。作为引领数字化转型的重要力量&#xff0c;AI技术为我们的生活和工作带来了前所未有的便利与效率。在通信领域&#xff0c;人工智能的应用同样展现出了巨大的潜力和价值&#xff0c;特别是在网络安全防护…

vCenter 物理配置与虚拟机配置对应关系

目录 背景现状概念存储池物理与虚拟资源分配及使用情况汇总 分配cpu内存硬盘VSAN、VM Encryption和VVOL No Requirements厚置备和精简置备 总结cpu内存硬盘建议 背景 现在有三台服务器&#xff0c;需要统计上面所有服务占用的资源情况与总和&#xff0c;目的是看还有多少资源可…

Pandas数据分析小技巧

Pandas数据分析小技巧&#xff1a;提升数据处理效率与准确性的秘诀 Pandas是一个强大的Python数据分析库&#xff0c;它提供了快速、灵活且富有表现力的数据结构&#xff0c;使得数据清洗、转换、分析等操作变得简单而高效。本文将介绍一些Pandas数据分析的小技巧&#xff0c;…
最新文章