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

news2025/1/15 16:51:44

第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()返回一个角度的正切

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

指针传 1

1. 内存 在计算机中内存划分为⼀个个的内存单元,每个内存单元的⼤⼩取1个字节。每个内存单元放了八个bite位,就像我们在高中时住的八人间,那么每个人就代表了一个bite位。 每个内存单元也都有⼀个编号(这个编号就相当 于我们所住…

聊天机器人框架Rasa资源整理

Rasa是一个主流的构建对话机器人的开源框架,它的优点是几乎覆盖了对话系统的所有功能,并且每个模块都有很好的可扩展性。参考文献收集了一些Rasa相关的开源项目和优质文章。 一.Rasa介绍 1.Rasa本地安装 直接Rasa本地安装一个不好的地方就是容易把本地…

Django框架FAQ

文章目录 问题1:Django数据库恢复问题2:null和blank的区别问题3:Django创建超级用户报错问题4:Django同源策略 问题1:Django数据库恢复 问题: 从仓库拉下来的Django项目,没有sqlite数据库和migrations记录,如何通过model恢复数据库 解决方法: # 步骤1:导出数据 # 不指定 ap…

如何配置《动手学强化学习》的环境

如何配置《动手学强化学习》的环境 网站:https://hrl.boyuai.com/chapter/intro github仓库:https://github.com/boyu-ai/Hands-on-RL/tree/main 可以看到该教程要求使用gym0.18.3版本的gym库,本教程可以用于解决绝大多数需要使用Pendulum-…

阿里云从公网IP转为弹性公网IP,同时绑定多个IP教程

先将云服务器ECS 转为弹性IP 购买新的弹性辅助网卡 购买弹性公网iP 购买之后选择绑定资源选择第二步购买的网卡 进入ECS 终端 ,输入 ip address可以查看到eth1 的对应mac 地址 终端输入 vi /etc/sysconfig/network-scripts/ifcfg-eth1保存一下信息 DEVICEeth1 #表示新配置…

【MySQL基本功系列】第二篇 InnoDB事务提交过程深度解析

通过上一篇博文,我们简要了解了MySQL的运行逻辑,从用户请求到最终将数据写入磁盘的整个过程。 当数据写入磁盘时,存储引擎扮演着关键的角色,它负责实际的数据存储和检索。 在MySQL中,有多个存储引擎可供选择&#xf…

免费博客搭建笔记

title: 免费博客搭建笔记 tags: 博客搭建 本次是对自己在网上学习github搭建一个 👇个人免费静态网站的总结当然不是很完美👇 Bow to the new king iYANG (yangsongl1n.github.io) 接着我会从我的写笔记的个人习惯来逐步介绍如何搭建这个网站 1.写笔…

【解决】conda-script.py: error: argument COMMAND: invalid choice: ‘activate‘

运行conda activate base报错: 试了网上找到的解决方法都不行: 最后切换了一下terminal: 从powershell改回cmd(不知道为什么一开始手贱换成powershell) 就可以了

XML解析文档解析

1.首先是我的项目结构以及我所引入的依赖&#xff1a; 2.引入的依赖&#xff1a;jdk用的是17 <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target> </properties> <dep…

黑客技术(网络安全)-自学

前言 一、什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防…

Peter算法小课堂—八皇后问题

独立集问题&#xff1a;安排互不冲突的个体 四个斜眼枪手 bool valid(int x,int y){for(int i1;i<min(x,y);i)if(f[x-i][y-i]) return 0;for(int i1;i<min(x,N-1-y);i)if(f[x-i][yi]) return 0;return 1; } void dfs(int x,int y,int c){if(cGUNS){ans;print();return;}i…

不可否认程序员的护城河已经越来越浅了

文章目录 那些在冲击程序员护城河低代码/无代码开发平台自动化测试和部署工具AI辅助开发工具在线学习和教育平台 面临冲击&#xff0c;程序员应该怎么做深入专业知识&#xff1a;不断学习全栈技能开发解决问题的能力建立人际网络管理和领导技能 推荐阅读 技术和应用的不断发展对…

skynet学习笔记03— 服务

01、API newservice(name, ...)&#xff1a; 阻塞的形势启动一个名为 name 的新服务&#xff0c;待start函数执行完后会返回这个服务的地址。uniqueservice(name, ...)&#xff1a;针对于当前节点&#xff0c;启动一个唯一服务&#xff08;相当于单例&#xff09;&#xff0c;…

土壤含水量的计算

土壤含水量的计算 土壤水分的表示方法 一般所说的土壤水分&#xff0c;实际上是指用烘干法在105-110摄氏度温度下能从土壤中被驱逐出来的水。土壤水分含量即土壤含水量&#xff0c;它是指土壤中所含有的水分的数量。土壤含水量可以用不同的方法表示&#xff0c;最常用的表示方…

【Git】Git分支与标签掌握这些技巧让你成为合格的码农

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《Git》。&#x1f3af;&#x1f3af; &#x1f449…

src/main/resources/fonts/songti.ttc not found as file or resource.

https://blog.csdn.net/Lewishhhh/article/details/122812272文章浏览阅读4.8k次&#xff0c;点赞2次&#xff0c;收藏7次。背景遇到个需求需要用Java导出PDF文件&#xff0c;权衡之下选择了iText&#xff0c;Java操作pdf的各个开源库之间的对比可以参考https://blog.csdn.net/…

论文笔记:AttnMove: History Enhanced Trajectory Recovery via AttentionalNetwork

AAAI 2021 1 intro 1.1 背景 将用户稀疏的轨迹数据恢复至细粒度的轨迹数据是十分重要的恢复稀疏轨迹数据至细粒度轨迹数据是非常困难的 已观察到的用户位置数据十分稀疏&#xff0c;使得未观察到的用户位置存在较多的不确定性真实数据中存在大量噪声&#xff0c;如何有效的挖…

大数据毕业设计选题推荐-生产大数据平台-Hadoop-Spark-Hive

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Centos7安装PostgreSQL 14

环境&#xff1a; Centos7安装PostgreSQL_14版本数据库&#xff1b; 打开官方网站&#xff1a;PostgreSQL: Linux downloads (Red Hat family) 一、 版本选择 复制、粘贴并运行如下脚本&#xff1a; 二、安装步骤 这些命令是在 CentOS 7.x 系统上安装和配置 PostgreSQL 14 的步…