数据库操作(函数)

news2024/11/18 5:38:56

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

一。字符串函数

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;

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

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

相关文章

java版本ERP管理系统源码 Spring Cloud ERP系统-生产型企业erp系

在当今数字化浪潮的推动下,企业对于高效、稳定且易于扩展的管理系统需求日益增长。为了满足这一需求,我们精心打造了一款基于Java技术的鸿鹄ERP(Enterprise Resource Planning)管理系统。该系统充分利用了Spring Cloud Alibaba、S…

《Effective Objective-C 2.0》读书笔记——对象、消息、运行期

目录 第二章:对象、消息、运行期第6条:理解“属性”这一概念第7条:在对象内部尽量直接访问实例变量第8条:理解“对象等同性”这一概念第9条:以“类族模式”隐藏实现细节第10条:在既有类中使用关联对象存放自…

推荐ChatGPT4.0——数学建模

1.建模助手 2. 可直接上传文档分析 3.获取途径 现在商家有活动,仅仅需要19.9!!!! 现在有优惠: 推荐人写:love 周卡,半月卡,月卡优惠码是love, 会优惠10元…

JAVA项目开发公共字段自动填充——省事

业务表中,有时候会有公共的字段需要反复的赋值,最常见的就是每次操作都会记录更新日期,更新人等。为了避免反复的赋值操作—— 我们可以用自定义注解加上自定义切面,还有反射来一次性设置多次使用。 1.首先自定义一个注解&#xf…

C++—数组

数组是由一批相同类型的元素&#xff08;element&#xff09;的集合所组成的数据结构&#xff0c;分配一块连续的内存来存储。 语法&#xff1a; <数据类型> <数组名>[<数组长度>]; 数据类型&#xff1a;数组内存放的数据类型&#xff0c;如int、char&…

暴雨为IBM发布《可信赖的企业级生成式 AI 白皮书》点赞

2024年 5月 23日&#xff0c;北京&#xff09;&#xff0c;IBM 在北京举行“AI for Business论坛”&#xff0c;与客户、合作伙伴、生态联盟等行业参与者一起&#xff0c;探讨如何将生成式 AI 应用到企业创新和实践当中。会上&#xff0c;中国开源软件推进联盟与 IBM 联合发布《…

LeetCode刷题之HOT100之比特位计数

今天把仙剑三看完了&#xff0c;茂茂割肉让人无法释怀&#xff0c;眼泪止不住的流。长卿和紫萱的分离似乎也意味着重逢&#xff0c;这就是他们的宿命吧。怅然若失的感觉席卷全身&#xff0c;哎&#xff0c;做题吧。 1、题目描述 2、逻辑分析 题目要求将整数从0到此元素&#…

【华为笔试题汇总】2024-05-22-华为春招笔试题-三语言题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新小米近期的春秋招笔试题汇总&#xff5e; &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f49…

vue三级联动组件

背景 项目中经常出现三级下拉框组件的要求&#xff0c;这种组件其中一级发生变化&#xff0c;子级的组件就会发生变化如果这一个组件&#xff0c;单独作为搜索条件使用&#xff0c;很好写&#xff0c;同时作为搜索条件和form回写组件&#xff0c;回显就比较困难 子组件代码 将与…

2.搜索游戏中不可见的数据坐标

内容参考于&#xff1a; 易道云信息技术研究院VIP课 首先一般游戏在设计时会把人物相关的属性放到一起&#xff0c;在 1.搜索游戏中的数据与环境搭建 里也能证实&#xff0c;角色的等级、攻击力、生命值、经验等它们的内存地址都是相差4字节也就是用int类型存储的&#xff0c;…

简单的TCP网络程序:英译汉服务器

一、服务器的初始化 下面介绍程序中用到的socket API,这些函数都在sys/socket.h中。 1.创建套接字 socket()&#xff1a; ⭐参数介绍&#xff1a; socket()打开一个网络通讯端口,如果成功的话,就像open()一样返回一个文件描述符;应用程序可以像读写文件一样用read/write在网…

AIGC实践|探索用AI实现小游戏开发全流程

前言&#xff1a; 在上一篇中&#xff0c;我们已经深入探讨了AI工具在动态绘本创作中的应用&#xff0c;体验了AI在创意内容生成上的魅力。本篇文章将带领大家进入一个全新的探索领域——游戏开发。 本文将详细介绍如何利用AI工具探索实现游戏开发的全过程&#xff0c;从概念…

提升代码简洁,MVEL 表达式和责任链设计模式应用实践

导读 本文主要讲解了MVEL表达式和责任链设计模式相结合一起的消息处理解决方案设计、解耦消息处理节点以及方便代码维护扩展。通过“订单拆单消息”的接入作为具体实践案例&#xff0c;简要阐述了MVEL表达式和Apache Chain职责链设计模式应用场景。希望通过本文&#xff0c;读…

【C/C++笔试练习】TCP、IP广播、ARP协议、IP路由器、MAC协议、三次握手、TCP/IP、子网划分年、会抽奖、抄送列表

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;TCP&#xff08;2&#xff09;IP广播&#xff08;3&#xff09;ARP协议&#xff08;4&#xff09;IP路由器&#xff08;5&#xff09;MAC协议&#xff08;6&#xff09;三次握手&#xff08;7&#xff09;TCP/IP&#xf…

Vue 3入门指南

title: Vue 3入门指南 date: 2024/5/23 19:37:34 updated: 2024/5/23 19:37:34 categories: 前端开发 tags: 框架对比环境搭建基础语法组件开发响应式系统状态管理路由配置 第1章&#xff1a;Vue 3简介 1.1 Vue.js的历史与发展 Vue.js由前谷歌工程师尤雨溪&#xff08;Eva…

JVM学习-垃圾回收(三)

System.gc 通过System.gc()或Runtime.getRuntime().gc()的调用&#xff0c;会显示触发Full GC&#xff0c;同时对老年代和方法区进行回收&#xff0c;尝试释放被丢弃对象占用的内存然后System.gc()调用附带一个免责声明&#xff0c;无法保证对垃圾收集器的调用JVM实现者可以通…

第3天 Web源码拓展_小迪网络安全笔记

1.关于web源码目录结构 #数据库配置文件 后台目录 模板目录 数据库目录 1.1数据库配置文件: 1.1就拿wordpress来说,先到官网下载源码:Download – WordPress.org,解压源码之后: 2.2找到目录下名为 wp-config-sample.php的文件,这就是数据库配置文件: 设想: 我们在渗透…

K8S集群再搭建

前述&#xff1a;总体是非常简单的&#xff0c;就是过程繁琐&#xff0c;不过都是些重复的操作 master成员: [controller-manager, scheduler, api-server, etcd, proxy,kubelet] node成员: [kubelet, proxy] master要修改的配置文件有 1. vi /etc/etcd/etcd.conf # 数…

【Linux取经路】一个简单的日志模块

文章目录 一、可变参数的使用二、Log2.1 日志打印2.1.1 时间获取2.1.2 日志分块打印 2.2 打印模式选择2.3 Log 使用样例2.4 Log 完整源码 三、结语 一、可变参数的使用 int sum(int n, ...) {va_list s; // va_list 本质上就是一个指针va_start(s, n); int sum 0;while(n){su…

vue3 + antd-vue@4 a-table单元格合并,rowSpan(行合并),colSpan(列合并)详解, 表头合并详解, 表头自定义详解

一、解释 1、rowSpan 1&#xff09;、行合并 2&#xff09;、当为0时&#xff1a;去掉边框 3&#xff09;、当为1时&#xff1a;不合并 4&#xff09;、大于1的x时&#xff1a;包含当前单元格行合并x个单元格 2、colSpan 1&#xff09;、列合并 2&#xff09;、当为0时&#xf…