数据库操作(函数)

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

一。字符串函数

1.concat(s1,s1....sn):字符串拼接,将s1,s2,sn拼接为一个字符串

例如: select concat("hello","world");

2.lower(str):将字符串str全部转为小写

例如: select lower("HELLO");

2.upper(str):将字符串str全部转为大写

例如: select upper("hello");

3.lpad(str,n,pad):左填充,用字符串pad对str的左边进行填充,达到n个字符串长度

例如:select lpad("hello",10,"*");

3.rpad(str,n,pad):右填充,用字符串pad对str的右边进行填充,达到n个字符串长度

例如:select rpad("hello",10,"*");

4.trim(str):去掉字符串头部和尾部的空格

例如:select trim("  hello world  ");

5.substring(str,start.len):返回从字符串str从start位置起到len个长度的字符串

例如: select substring("hello world",1,5);

二。数值函数

1.ceil(x):向上取整

例如:select ceil(1.5)        结果为2

2.floor(x):向下取整

例如:select floor(1.5)        结果为1

3.mod(x,y):返回x/y的值,进行取余操作

例如:mod(4/3)        结果为1

4.rand():返回0~1内的随机数,结果在0~1之间进行选取

例如:select ran();

5.round(x,y):求参数x的四舍五入的值,保留y位小数

例如:select round(2.255,2);        结果为2.26

案例一:随机生成一个六位数的验证码

 select round(rand()*1000000,0);

 select lpad(round(rand()*100000,0),6,"0");

使用lpad进行左填充,round进行四舍五入去小数,rand随机生成

三。日期函数

1.curdate():返回当前日期: select curtime();

2.curtime():返回当前时间: select curtime();

3.now():返回当前日期和时间: select now();

4.year(date):获取指定date的年份: select year(now());

5.month(date):获取指定date的月份: select month(now());

6.day(date):获取指定date的日期: select day(now());

7.datediff(date1,date2):返回起始时间date1和结束时间date2之间的天数:

 select datediff("2024-5-10","2024-1-10");第一个时间减去第二个时间

8.date_add(date1,interval n day):返回起始时间过了n个时间段后(day,month,year)的时间:

select date_add(now(),interval 2 day);

案例:查询所有员工的入职天数,并且按照入职时间进行倒序排列:

select name,datediff(curdate(),enterdate) as "result" from emp orderr by result desc;

四。流程函数

1.if(value,t,f):如果value为真返回t,否则返回f

例:select if(2>1,"ok","error");

2.ifnull(value1,value2):如果value1不为空(null)则返回value1,否则返回value2

 例:select ifnull("yes","no");

3.case when[val] then [res1]...else[default] end:如果val为ture,返回rest,否则返回default默认值(表达式val为ture进行返回res1)

4.case[expr]  when[val] then [res1]...else[default] end:如果expr的值为val,返回res1,否则default默认值(表达式expr为val返回res1)

例:select name,case address when "北京" then "一线城市" else "二线城市" end from emp;

案例:统计学员的成绩,>80优秀 ,>60及格 ,否则不及格

select id,name

        case when math >=80 then "优秀" when math >=60 then "及格” else "不及格" end,

from score;

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

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

相关文章

Google的MLP-MIXer的复现(pytorch实现)

Google的MLP-MIXer的复现(pytorch实现) 该模型原论文实现用的jax框架实现,先贴出原论文的代码实现: # Copyright 2024 Google LLC. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may …

【杂七杂八】Huawei Gt runner手表系统降级

文章目录 Step1:下载安装修改版华为运动与健康Step2:在APP里进行配置Step3:更新固件(时间会很长) 目前在使用用鸿蒙4 111版本的手表系统,但是感觉睡眠检测和运动心率检测一言难尽,于是想到是否能回退到以前的版本&…

从需求角度介绍PasteSpider(K8S平替部署工具适合于任何开发语言)

你是否被K8S的强大而吸引,我相信一部分人是被那复杂的配置和各种专业知识而劝退,应该还有一部分人是因为K8S太吃资源而放手! 这里介绍一款平替工具PasteSpider,PasteSpider是一款使用c#编写的linux容器部署工具(使用PasteSpider和…

算法学习:快速排序

🔥 个人主页:空白诗 文章目录 🚀 引言📌 快速排序算法核心思想1. 选择基准值(Pivot)2. 分区操作(Partitioning)3. 递归排序子序列 📌 JavaScript 实现1. 快速排序主函数2…

Mac 安装 git

文章目录 前言一、介绍二、下载三、验证四、配置五、Git常用命令六、git提交和撤销工作流程代码提交和提交同步代码撤销和撤销同步 FAQ1.homebrew 下载解决方法一(强烈推荐):解决方法二: 总结 前言 Git 是一个开源的分布式版本控…

Flutter问题 --- 用web端打开项目提示:The XMLHttpRequest onError callback was called.

跨域问题: 打开当前使用的flutter sdk,找到flutter\packages\flutter_tools\lib\src\web\chrome.dart文件并打开. 在--disable-extensions位置后添加--disable-web-security 找到flutter\bin\cache目录,删除flutter_tools.stamp和flutter_tools.snaps…

为什么说 Redis 是单线程的?——Java全栈知识(25)

为什么说 Redis 是单线程的? 我们常说的 Redis 是单线程的,但是我前面在讲持久化机制的时候又说 RDB 的持久化是通过主进程 fork 出一个子进程来实现 RDB 持久化。那么 Redis 到底是多线程还是单线程的呢? Redis 的网络 IO 和键值的读写是单…

一个简约高级视差效果PR动态图文开场视频模板

这是一个高质量且易于定制的pr模板。具有模块化结构,可以轻松更改内容。包括视频教程,即使是新手小白也可以轻松套用模板制作视频。 主要特点: 水平(19201080)和垂直(10801920)分辨率&#xff…

如何用PLC监听消防系统485总线通讯获取火灾报警数据

本文由艺捷自动化编写,艺捷自动化旗下产品有艺捷自动化网站和易为二维码说明书小程序(微信) 前言,先来说一下为什么会有这么一个奇怪的应用。在一个自动化系统改造升级项目中,甲方要求把消防的画面加到他们的后台上。…

判定字符是否唯一

题目链接 判定字符是否唯一 题目描述 注意点 0 < len(s) < 100s[i]仅包含小写字母 解答思路 首先想到的是使用数组存储字母是否出现过&#xff0c;如果多次出现则直接返回false为了不适用额外的数据结构&#xff0c;可以使用位运算判定字符是否唯一&#xff0c;思路…

Kibanna安装配置

环境&#xff1a;windows10、ES&#xff08;8.13.3&#xff09;、Kibana&#xff08;8.13.3&#xff09;、Logstash&#xff08;8.13.3&#xff09; 1.Kibanna安装配置 Kibanna对ES的数据进行可视化、分析和监控 Download Kibana Free | Get Started Now | ElasticDownload K…

如何让大模型更聪明?

如何让大模型更聪明&#xff1f; *随着人工智能技术的飞速发展&#xff0c;大模型在多个领域展现出了前所未有的能力&#xff0c;但它们仍然面临着理解力、泛化能力和适应性等方面的挑战。那么&#xff0c;如何让大模型变得更聪明呢&#xff1f; 方向一&#xff1a;算法创新 …

手写tomcat(Ⅱ)——Socket通信+tomcat静态资源的获取

Socket通信简介 参考文章&#xff1a;socket通讯原理及例程&#xff08;一看就懂&#xff09; socket是介于应用层&#xff08;http协议&#xff09;和传输层&#xff08;TCP/UDP协议&#xff09;之间的一层虚拟层 Socket是一个程序&#xff0c;符合TCP/UDP协议的规范&…

GNU Radio之OFDM Divide和Matrix Transpose底层C++实现

文章目录 前言一、OFDM Divide 模块1、简介2、模块作用3、参数意义4、C 具体实现 二、Matrix Transpose 模块1、简介2、参数意义3、C 具体实现 前言 gr-radar 中的 OFDM Divide 模块是GNU Radio中的一个组件&#xff0c;专门用于处理正交频分复用&#xff08;OFDM&#xff09;…

力扣HOT100 - 72. 编辑距离

解题思路&#xff1a; 动态规划 class Solution {public int minDistance(String word1, String word2) {int n1 word1.length();int n2 word2.length();int[][] dp new int[n1 1][n2 1];for (int j 1; j < n2; j) dp[0][j] dp[0][j - 1] 1;for (int i 1; i < …

【Android安全】AOSP版本对应编号| AOSP版本适配Pixel或Nexus型号 | 驱动脚本下载地址

AOSP版本对应编号 https://source.android.com/docs/setup/about/build-numbers?hlzh-cn#source-code-tags-and-builds 例如android-8.1.0_r1 对应的编号是OPM1.171019.011 可以适配Pixel 2 XL AOSP驱动脚本下载 编译AOSP时&#xff0c;需要Google的驱动&#xff0c;后面才…

SaToken+SpringBoot+Redis前后端分离登录认证

目录 前言一、创建工程项目&#x1f38d;1.1 创建后端工程1.2 创建前端工程 二、业务代码&#x1f38a;后端代码前端代码 三、测试参考资料 前言 Sa-Token 是一款 Java 语言的权限认证框架&#xff0c;提供了灵活、高效、易用的权限认证和会话管理功能。它是 SpringBoot、Spri…

解除网页禁止选择

控制台输入以下命令 复制&#xff1a;javascript:void(document.body.οncοpy) 可选&#xff1a;javascript:void(document.body.onselectstart) 拖拉&#xff1a;javascript:void(document.body.οnmοuseup)

短剧系统源码解析与应用

在数字化时代&#xff0c;短剧作为一种新兴的娱乐形式&#xff0c;因其内容紧凑、节奏快速而受到广大年轻群体的喜爱。短剧系统源码的开发和应用&#xff0c;不仅为创作者提供了一个展示才华的平台&#xff0c;也为观众带来了全新的观看体验。本文将对短剧系统源码进行解析&…

MVSnet 代码详解(pytorch)

大致过一下MVSnet 论文中核心的点对应代码应该怎么写。 forward 函数需要 照片&#xff0c;映射矩阵&#xff0c;以及深度值。 照片的shape是 &#xff08;1&#xff0c;5,3&#xff0c;1184,1600&#xff09;代表着1个batch,5张图片&#xff0c;然后一次是每张图片的channel和…