当前位置: 首页 > news >正文

SQL函数使用大全

SQL函数使用大全

在数据库管理中,SQL函数是一种强大的工具,它们可以帮助我们处理数据,进行复杂的计算,甚至改变数据的显示方式。本文将介绍两种主要的SQL函数:Aggregate函数和Scalar函数,以及它们的使用方法和示例。

SQL函数介绍

SQL函数是在SQL语句中使用的预定义的计算工具,它们可以对一列数据进行操作并返回一个单一的结果。SQL函数主要分为两类:Aggregate函数和Scalar函数。

Aggregate函数是对一组值进行操作并返回一个单一值的函数,例如:求和、求平均值、求最大值、求最小值等。

Scalar函数是对单个值进行操作并返回一个单一值的函数,例如:转换数据类型、求字符串长度、提取日期部分等。

SQL Aggregate函数介绍

AVG() 使用方法

AVG()函数返回一组数值的平均值。例如,我们想要查询学生的平均SAT分数,可以使用以下SQL语句:

SELECT AVG(sat_score) AS avg_score FROM students;

查询结果可能如下:

+-----------+
| avg_score |
+-----------+
| 1400      |
+-----------+

COUNT() 使用方法

COUNT()函数返回一组值的数量。例如,我们想要查询学生的数量,可以使用以下SQL语句:

SELECT COUNT(*) AS student_count FROM students;

查询结果可能如下:

+---------------+
| student_count |
+---------------+
| 9             |
+---------------+

FIRST() 使用方法

FIRST()函数返回一组值中的第一个值。例如,我们想要查询第一个录入系统的学生的姓名,可以使用以下SQL语句:

SELECT FIRST(FullName) AS first_student FROM students;

查询结果可能如下:

+---------------+
| first_student |
+---------------+
| Monique Davis |
+---------------+

LAST() 使用方法

LAST()函数返回一组值中的最后一个值。例如,我们想要查询最后一个录入系统的学生的姓名,可以使用以下SQL语句:

SELECT LAST(FullName) AS last_student FROM students;

查询结果可能如下:

+---------------+
| last_student  |
+---------------+
| Raymond F. Boyce |
+---------------+

MAX() 使用方法

MAX()函数返回一组数值中的最大值。例如,我们想要查询学生的最高SAT分数,可以使用以下SQL语句:

SELECT MAX(sat_score) AS max_score FROM students;

查询结果可能如下:

+-----------+
| max_score |
+-----------+
| 2400      |
+-----------+

MIN() 使用方法

MIN()函数返回一组数值中的最小值。例如,我们想要查询学生的最低SAT分数,可以使用以下SQL语句:

SELECT MIN(sat_score) AS min_score FROM students;

查询结果可能如下:

+-----------+
| min_score |
+-----------+
| 400       |
+-----------+

SUM() 使用方法

SUM()函数返回一组数值的总和。例如,我们想要查询学生的SAT分数总和,可以使用以下SQL语句:

SELECT SUM(sat_score) AS total_score FROM students;

查询结果可能如下:

+-------------+
| total_score |
+-------------+
| 12600       |
+-------------+

SQL Scalar函数介绍

UCASE() 使用方法

UCASE()函数将字符串转换为大写。例如,我们想要将学生的姓名转换为大写,可以使用以下SQL语句:

SELECT UCASE(FullName) AS upper_name FROM students;

查询结果可能如下:

+------------------------+
| upper_name             |
+------------------------+
| MONIQUE DAVIS          |
| TERI GUTIERREZ         |
| SPENCER PAUTIER        |
| LOUIS RAMSEY           |
| ALVIN GREENE           |
| SOPHIE FREEMAN         |
| EDGAR FRANK "TED" CODD |
| DONALD D. CHAMBERLIN   |
| RAYMOND F. BOYCE       |
+------------------------+

LCASE() 使用方法

LCASE()函数将字符串转换为小写。例如,我们想要将学生的姓名转换为小写,可以使用以下SQL语句:

SELECT LCASE(FullName) AS lower_name FROM students;

查询结果可能如下:

+------------------------+
| lower_name             |
+------------------------+
| monique davis          |
| teri gutierrez         |
| spencer pautier        |
| louis ramsey           |
| alvin greene           |
| sophie freeman         |
| edgar frank "ted" codd |
| donald d. chamberlin   |
| raymond f. boyce       |
+------------------------+

MID() 使用方法

MID()函数用于从字符串中提取子字符串。例如,我们想要提取学生姓名的前三个字符,可以使用以下SQL语句:

SELECT MID(FullName, 1, 3) AS name_start FROM students;

查询结果可能如下:

+------------+
| name_start |
+------------+
| Mon        |
| Ter        |
| Spe        |
| Lou        |
| Alv        |
| Sop        |
| Edg        |
| Don        |
| Ray        |
+------------+

SubString() 使用方法

SubString()函数也用于从字符串中提取子字符串。例如,我们想要提取学生姓名的第二个到第四个字符,可以使用以下SQL语句:

SELECT SubString(FullName, 2, 3) AS name_part FROM students;

查询结果可能如下:

+-----------+
| name_part |
+-----------+
| oni       |
| eri       |
| pen       |
| oui       |
| lvi       |
| oph       |
| dga       |
| ona       |
| aym       |
+-----------+

LEN() 使用方法

LEN()函数返回字符串的长度。例如,我们想要查询学生姓名的长度,可以使用以下SQL语句:

SELECT LEN(FullName) AS name_length FROM students;

查询结果可能如下:

+-------------+
| name_length |
+-------------+
| 13          |
| 14          |
| 15          |
| 12          |
| 12          |
| 14          |
| 24          |
| 20          |
| 17          |
+-------------+

ROUND() 使用方法

ROUND()函数用于对数值进行四舍五入。例如,我们想要将学生的SAT分数四舍五入到最近的百,可以使用以下SQL语句:

SELECT ROUND(sat_score, -2) AS rounded_score FROM students;

查询结果可能如下:

+---------------+
| rounded_score |
+---------------+
| 400           |
| 800           |
| 1000          |
| 1200          |
| 1200          |
| 1200          |
| 2400          |
| 2400          |
| 2400          |
+---------------+

NOW() 使用方法

NOW()函数返回当前的日期和时间。例如,我们想要查询当前的日期和时间,可以使用以下SQL语句:

SELECT NOW() AS current_time;

查询结果可能如下:

+---------------------+
| current_time        |
+---------------------+
| 2023-11-27 12:34:56 |
+---------------------+

FORMAT() 使用方法

FORMAT()函数用于格式化数值或日期。例如,我们想要将学生的SAT分数格式化为带有两位小数的数值,可以使用以下SQL语句:

SELECT FORMAT(sat_score, 2) AS formatted_score FROM students;

查询结果可能如下:

+-----------------+
| formatted_score |
+-----------------+
| 400.00          |
| 800.00          |
| 1,000.00        |
| 1,200.00        |
| 1,200.00        |
| 1,200.00        |
| 2,400.00        |
| 2,400.00        |
| 2,400.00        |
+-----------------+

总结

本文介绍了SQL的两种主要函数:Aggregate函数和Scalar函数,以及它们的使用方法和示例。这些函数在数据库管理中非常有用,可以帮助我们处理数据,进行复杂的计算,甚至改变数据的显示方式。希望通过本文,你能够更好地理解和使用这些SQL函数。

相关文章:

  • 《微信小程序从入门到精通》---笔记1
  • 【Axure高保真原型】3D金字塔图_移入显示数据标签
  • 通过视频文件地址截取图像生成图片保存为封面图
  • 中低压MOSFET 2N7002KW 60V 300mA 双N通道 SOT-323封装
  • 【JMeter】不同场景下的接口请求
  • opencv-利用DeepLabV3+模型进行图像分割去除输入图像的背景
  • MySQL--锁
  • webpack 打包优化
  • 【深度学习】因果推断与机器学习的高级实践 | 数学建模
  • 前端管理制度
  • 区块链技术将如何影响未来的数字营销?
  • EfficientViT:高分辨率密集预测的多尺度线性注意
  • Oracle(2-6) Backup and Recovery Overview
  • 网络安全面试经历
  • 华为认证 | Security安全认证学什么?IA、IP、IE学习内容详解!
  • echarts的各种常用效果展示
  • Electron入门介绍
  • Gradle 5.0 正式版发布
  • Java 内存分配及垃圾回收机制初探
  • mysql_config not found
  • opencv python Meanshift 和 Camshift
  • Phpstorm怎样批量删除空行?
  • Promise面试题2实现异步串行执行
  • Python连接Oracle
  • Vim Clutch | 面向脚踏板编程……
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 阿里云前端周刊 - 第 26 期
  • 大型网站性能监测、分析与优化常见问题QA
  • 翻译:Hystrix - How To Use
  • 技术发展面试
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 面试总结JavaScript篇
  • 那些被忽略的 JavaScript 数组方法细节
  • 跳前端坑前,先看看这个!!
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 智能合约开发环境搭建及Hello World合约
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 选择阿里云数据库HBase版十大理由
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ![CDATA[ ]] 是什么东东
  • #QT(串口助手-界面)
  • #图像处理
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (003)SlickEdit Unity的补全
  • (ZT)出版业改革:该死的死,该生的生
  • (多级缓存)多级缓存
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (强烈推荐)移动端音视频从零到上手(下)
  • (十八)三元表达式和列表解析
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算