sql-函数

函数:一段可以直接被另一段程序调用的程序或代码。

字符串函数

函数功能
CONCAT(s1, s2, …, sn)字符串拼接,将s1, s2, …, sn拼接成一个字符串
LOWER(str)将字符串全部转为小写
UPPER(str)将字符串全部转为大写
LPAD(str, n, pad)左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
RPAD(str, n, pad)右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
TRIM(str)去掉字符串头部和尾部的空格
SUBSTRING(str, start, len)返回从字符串str从start位置起的len个长度的字符串
REPLACE(column, source, replace)替换字符串
--concat
SELECT CONCAT('hello','mysql');
--返回 hello mysql--lower
select lower('Hello');
--返回 hello-- upper
SELECT UPPER('Hello');
--返回 HELLO--lpad 左填充
SELECT LPAD('01',5,'-');
--返回 ---01--rpad 右填充
SELECT RPAD('01',5,'-');
--返回 01----- trim 去除空格
SELECT TRIM(' Hello World ');
--返回 Hello World-- substring 切片(起始索引为1)
SELECT SUBSTRING('Hello World', 1, 5);
--返回 Hello

-- 员工工号统一为5位数,不足5位的全部在前面补0.
UPDATE emp
SET workno = LPAD(workno, 5, '0');

数值函数

函数功能
CEIL(x)向上取整
FLOOR(x)向下取整
MOD(x, y)返回x/y的模(余数)
RAND()返回0~1内的随机数
ROUND(x, y)求参数x的四舍五入值,保留y位小数

日期函数

常用函数:

函数功能
CURDATE()返回当前日期
CURTIME()返回当前时间
NOW()返回当前日期和时间
YEAR(date)获取指定date的年份
MONTH(date)获取指定date的月份
DAY(date)获取指定date的日期
DATE_ADD(date, INTERVAL expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1, date2)

返回起始时间date1和结束时间date2之间的天数

--date_add,当前时间推后70天
SELECT date_add (now(), INTERVAL 70 DAY);
--date_add,当前时间推后70月
SELECT date_add (now(), INTERVAL 70 MONTH);
--datediff
select datediff('2021-12-01','2021-10-01');--第一个日期减第二个日期--查询所有员工的入职天数,并根据入职天数倒叙排序
SELECT name, DATEDIFF(CURDATE(), entrydate) AS entrydays 
FROM emp 
ORDER BY entrydays  DESC;

流程控制函数

常用函数:

函数功能
IF(value, t, f)如果value为true,则返回t,否则返回f
IFNULL(value1, value2)如果value1不为空,返回value1,否则返回value2
CASE WHEN [ val1 ] THEN [ res1 ] … ELSE [ default ] END如果val1为true,返回res1,… 否则返回default默认值
CASE [ expr ] WHEN [ val1 ] THEN [ res1 ] … ELSE [ default ] END如果expr的值等于val1,返回res1,… 否则返回default默认值 
selectname,(case when age > 30 then '中年' else '青年' end)
from employee;
selectname,(case workaddress when '北京市' then '一线城市' when '上海市' then '一线城市' else '二线城市' end) as '工作地址'
from employee;

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

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

相关文章

AI:141-利用自然语言处理改进医疗信息提取与分类

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

黑马头条-day10

文章目录 app端文章搜索1、文章搜索1.1 ElasticSearch环境搭建1.2 索引库创建①需求分析②ES导入数据场景分析③创建索引和映射 1.3 索引数据同步①app文章历史数据导入ES②文章实时数据导入ES 1.4 文章搜索多条件复合查询①关键词搜索②搜索接口定义 2、搜索历史记录2.1 需求说…

C#中的static关键字详解

在C#编程中,static关键字是一个非常常用的特性,它可以用于类、方法和成员变量。本文将详细解释C#中static关键字的含义、用途、与其他关键字的关系以及它如何在不同作用域中使用。同时,我们也会提供一些示例来帮助您更好地理解static关键字在…

【2024-02-25】360春招笔试两道编程题解

恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经。 作者TechGuide【全网同名】 订阅专栏: 【专享版】2024最新大厂笔试真题解析,错过必后悔的宝藏资源! 第一题:函…

积分商城管理系统的设计与实现

积分商城管理系统的设计与实现 获取源码——》公主号:计算机专业毕设大全

javascript给对象添加迭代器

迭代器是啥就自行百度了 为啥for…of可以遍历数组,为啥不能遍历对象,就是for…of会调用迭代器,而数组是内置了迭代器了,而对象没有内置,所以直接使用for…of遍历对象会报错,因此只用在对象的原型上面自定义…

YOLO算法改进Backbone系列之:EfficientViT

EfficientViT: Memory Effificient Vision Transformer with Cascaded Group Attention 摘要:视觉transformer由于其高模型能力而取得了巨大的成功。然而,它们卓越的性能伴随着沉重的计算成本,这使得它们不适合实时应用。在这篇论文中&#x…

一般情况下,硬件中使用Repeating Sequence出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的

一般情况下,出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的 把timer values 修改为0 1就好了,如果是0,0.1就不行,不会有下面的波形

YOLOv9中的“RepNCSPELAN4”结构!

RepNCSPELAN4结构出炉啦,收藏起来写论文用! 1.代码: 代码路径:yolov9-main->models->common.py,代码如下: class RepNCSPELAN4(nn.Module):# csp-elandef __init__(self, c1, c2, c3, c4, c51): # …

使用EFCore连接SQLite

简介 在使用EFCore连接SQLite之前我们先来了解一下SQLite SQLite是一个轻量级、自包含、无服务器、零配置的事务性SQL数据库引擎,它支持SQL92标准的大多数查询语言并兼容ACID事务。具体如下: 轻量级:SQLite非常轻巧,它的库体积…

UE5 C++ Gas开发 学习记录(三)

添加AuraPlayerState,AuraAbilitySystemComponentBase和AuraAttributeSet 在Build.cs里添加 // Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; public class MyGas : ModuleRules { public MyGas(ReadOnlyTargetRules Target) : base(Target) { P…

leetcode hot100打家劫舍三

本题是打家劫舍的变形,数据结构是树形。涉及到树的题目一定要想清楚树的遍历顺序(前中后序)。之后再考虑利用动态规划来解决。 动态规划是一直记录状态,我们可以根据动态规划的数组来记录变化的状态,最终求的自己想要…

【算法笔记】ch01_01_0771 宝石与石头

笔记介绍: 本项目是datawhale发布的LeetCode 算法笔记(Leetcode-Notes)课程完成笔记,根据推荐题目循序渐进练习算法题目。主要用python进行书写相关代码,会介绍解题思路及跑通解法。 0771. 宝石与石头 题目大意 描…

Python字符串访问与拼接你搞懂了吗?

使用下标访问字符串,从0开始计数,-1表示最后一个字符。三种遍历字符串的方法:for循环、len()和enumerate()。字符串拼接只能是字符串之间使用,不能与数字拼接。 1.下标访问字符串 通过下标访问字符串的内容,下标从 0 …

Shell脚本介绍及脚本功能

文章目录 一、什么是shell二、hello word2.1 echo2.2第一个脚本 三、Bash的基本功能3.1别名3.2常用快捷键3.3输入输出3.4 输出重定向3.5 多命令执行3.6 管道符3.7 通配符和特殊符号 一、什么是shell Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。S…

视频号视频下载教程:如何把微信视频号的视频下载下来

视频号下载相信不少人都多少有一些了解,但今天我们就来细说一下关于视频号视频下载的相关疑问,以及大家经常会问到底如何把微信视频号的视频下载下来? 视频号视频下载教程 视频号链接提取器详细使用指南,教你轻松下载号视频&…

Django后台管理(二)

一、自定义注册管理类介绍 官网:Django 管理站点 | Django 文档 | Django 注册模型除了使用 Django 默认的管理类admin,也可以自定义,比如: class StudentAdmin(admin.ModelAdmin):pass admin.site.register(Student, StudentAdmin)ModelAdmin 类是管理界面中模型的表示。…

功能富集分析 | GO| KEGG

写在前面 我们《复现SCI文章系列教程》专栏现在是免费开放,推出这个专栏差不多半年的时间,但是由于个人的精力和时间有限,只更新了一部分。后续的更新太慢了。因此,最终考虑后还是免费开放吧,反正不是什么那么神秘的东…

Linux环境下的性能分析 之 CPU篇(二)

2、CPU的使用情况分析 a、类似任务管理器的top & htop 说到对CPU的性能分析,大家一定不会忘记windows下那个最熟悉的工具:任务管理器。 有了这个玩意儿,我们就可以看到CPU的利用率,以及每一个进程所占用的CPU资源。那在Linu…

刷题第1天:LeetCode27--移除数组元素--双指针法(快慢指针法)

LeetCode27移除元素:给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组…