SQL必知会(二)-SQL查询篇(7)-使用函数处理数据

2023-11-11 20:28

本文主要是介绍SQL必知会(二)-SQL查询篇(7)-使用函数处理数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第8课、使用函数处理数据

表8-1 DBMS 函数的差异

函数语法
提取字符串的组成DB2、Oracle、PostgreSQL 和 SQLite 使用 SUBSTR();MariaDB、Mysql 和 SQL Server 使用 SUBSTRING()
数据类型转换Oracle 使用多个函数,每种类型的转换有一个函数;DB2 和 PostgreSQL 使用CAST(); MariaDB、MySQL 和 SQL Server 使用 CONVERT()
取当前日期DB2 和 PostgreSQL 使用 CURRENT_DATE;MariaDB 和 MySQL 使用 CURDATE();Oracle 使用 SYSDATE;SQL Server 使用 GETDATE();SQLite 使用 DATE()

缺点: 因为有些数据库使用 SQL 函数有差异,所以难以对 SQL 进行移植。

1)文本处理函数
UPPER() 函数:将文本转换为大写。

需求:把 vend_name 字段的值转换为大写,并且新值命名为 vend_name_upcase。

SELECT vend_name, UPPER(VEND_NAME) AS vend_name_upcase
FROM Vendors
ORDER BY vend_name;

输出结果:

请添加图片描述

表8-2 常用的文本处理函数

函数说明
LEFT(或使用字符串函数)返回字符串左边的字符
LENGTH()(也使用 DATLENGTH() 或 LEN())返回字符串的长度
LOWER()将字符串转换为小写
LTRIM()去掉字符串左边的空格
RIGHT() (或使用子字符串函数)返回字符串右边的字符
RTRIM()去掉字符串右边的空格
SUBSTR() 或 SUBSTRING()提取字符串的组成部分
SOUNDEX()返回字符串的 SOUNDEX 值
UPPER()将字符串转换为大写
1.2)文本处理函数: SOUNDEX() 函数
使用 SOUNDEX() 函数:用来匹配与输入的文本有发音相似的文本串。(匹配文本的要素:发音字符和音节)

需求:Custmers 表中有一个顾客 Kids Place,其联系名为 Michelle Green。但是如果这是错误的输入,此联系名实际上应该是 Michael Green。

-- 不使用 SOUNDEX 函数:
SELECT cust_name, cust_contact
FROM Customers
Where cust_contact = 'Michael Green';
-- 由于数据库中没有 Michael Green,所以结果查询不到这个 Michael Green。-- 使用 SOUNDEX 函数:
SELECT cust_name, cust_contact
FROM Customers
WHERE SOUNDEX(cust_contact) = SOUNDEX('Michael Green');
-- 虽然数据库中没有 Michael,但是输出跟其发音相似的文本串 Michelle Green

输出结果:

请添加图片描述

2)日期和时间处理函数

需求:检索 2020 年的所有订单。

SELECT order_num
FROM Orders
WHERE DATEPART(yy, order_date) = 2020;-- 使用 PostgreSQL:
SELECT order_num
FROM Orders
WHERE DATE_PART('year', order_date) = 2020;-- 使用 Oracle:
SELECT order_num
FROM Orders
WHERE EXTRACT(year FROM order_date) = 2020;-- 其他数据库的区别用法,以后需要时就了解一下,暂时不做这个笔记了。

输出结果:

请添加图片描述

数值处理函数

表8-3 常用数值处理函数

函数说明
ABS()返回一个数的绝对值
COS()返回一个角度的余弦
EXP()返回一个数的指数值
PI()返回圆周率 Π 的值
SIN()返回一个角度的正弦
SQRT()返回一个数的平方根
TAN()返回一个角度的正切

这篇关于SQL必知会(二)-SQL查询篇(7)-使用函数处理数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/392622

相关文章

Spring Boot 处理带文件表单的方式汇总

《SpringBoot处理带文件表单的方式汇总》本文详细介绍了六种处理文件上传的方式,包括@RequestParam、@RequestPart、@ModelAttribute、@ModelAttr... 目录方式 1:@RequestParam接收文件后端代码前端代码特点方式 2:@RequestPart接

C#中checked关键字的使用小结

《C#中checked关键字的使用小结》本文主要介绍了C#中checked关键字的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录✅ 为什么需要checked? 问题:整数溢出是“静默China编程”的(默认)checked的三种用

C#中预处理器指令的使用小结

《C#中预处理器指令的使用小结》本文主要介绍了C#中预处理器指令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 第 1 名:#if/#else/#elif/#endif✅用途:条件编译(绝对最常用!) 典型场景: 示例

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

C#实现将XML数据自动化地写入Excel文件

《C#实现将XML数据自动化地写入Excel文件》在现代企业级应用中,数据处理与报表生成是核心环节,本文将深入探讨如何利用C#和一款优秀的库,将XML数据自动化地写入Excel文件,有需要的小伙伴可以... 目录理解XML数据结构与Excel的对应关系引入高效工具:使用Spire.XLS for .NETC

MySQL 筛选条件放 ON后 vs 放 WHERE 后的区别解析

《MySQL筛选条件放ON后vs放WHERE后的区别解析》文章解释了在MySQL中,将筛选条件放在ON和WHERE中的区别,文章通过几个场景说明了ON和WHERE的区别,并总结了ON用于关... 今天我们来讲讲数据库筛选条件放 ON 后和放 WHERE 后的区别。ON 决定如何 "连接" 表,WHERE

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

MySQL日志UndoLog的作用

《MySQL日志UndoLog的作用》UndoLog是InnoDB用于事务回滚和MVCC的重要机制,本文主要介绍了MySQL日志UndoLog的作用,文中介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、Undo Log 的作用二、Undo Log 的分类三、Undo Log 的存储四、Undo