当前位置: 首页 > news >正文

MySQL——内置函数

内置函数

​ 使用select执行函数;内置函数在where子句中也可以使用;

一、日期函数

​ 日期类型也是支持比较的;

current_date()#当前日期,格式为 xxx-yyy-zzz 年-月-日
current_time()#当前时间,格式为 xxx:yyy:zzz 时:分:秒
current_timestamp()#当前时间戳,格式为 xxx-yyy-zzz xxx:yyy:zzz 年-月-日 时:分:秒
now()#与当前时间戳函数实现的效果是一样的;#根据时间戳返回日期;其中参数可以选择now();
date(datetime)
#根据时间戳返回时间;其中参数可以选择now();
time(datetime)#在日期的基础上加时间
date_add(date,interval 数字 数值单位)
#在日期的基础上减时间
date_sub(date,interval 数字 数值单位)
#date可以是日期也可以是时间甚至是时间戳,intval的数值单位可以是year,month,day,hour,minute,second;
#计算两个日期相差的时间
datediff(date1,date2)
#单位是天;

二、字符串函数

charset(str)#返回字符串字符集;
concat(str1,str2)#进行字符串的拼接,包括数字也会转为字符串然后进行拼接;
instr(string,substring)#判断sub字符串是否在string字符串中,返回子串开始位置的下标;下标从1开始;
ucase(str)#将字符串转换成大写;
lcase(str)#将字符串转换成小写;
left(str,length)#从左边起将字符串中的length个字符提取出来;
right(str,length)#从右边起将字符串中的length个字符提取出来;
length(str)#返回字符串的长度,utf-8汉字大小是3个字节;
replace(str,search_str,replace_str)#在str中用replace_str替换search_str;
strcmp(str1,str2)#逐字符比较两字符串的大小;
substring(str,pos,length)#length可以缺省,表示直接截取到最后位置;
ltrim(str)#将字符串左面的空格进行裁剪;
rtrim(str)#将字符串右面的字符进行裁剪;
trim(str)#将字符串除了中间部分的空格进行裁剪;

三、数学函数

abs(num)#绝对值函数,可以是整数也可以是浮点数;
bin(decimal_num)#十进制转二进制函数,会转换成整数的二进制;
hex(decimal_num)#十进制转换成十六进制函数,会转换成整数的十六进制;
conv(num,from_base,to_base)#进制转换;例如:select conv(10,10,5);将一个数从十进制转换成5进制;
ceiling(num)#返回一个浮点数的上限值,即向上取整;
floor(num)#返回一个浮点数的下限值,即向下取整;
format(num,decimal_places)#格式化显示数字,如果是整数用零进行填充,浮点数则是采取四舍五入的方式进行;
mod(num)#对数字进行取余数;
rand()#返回随机的浮点数,范围是[0.0,1.0);

3.1取整方式

​ 对于丢弃掉小数部分的取整方式叫做0向取整,如C语言中的9/4取商值的方式就是0向取整;还有向上取整和向下取整以及四舍五入的方式取整;

四、其它函数

user()#查看一下当前用户是谁;
database()#查看一下当前在哪一个数据库文件中;
md5(str)#对字符串进行数字摘要,最后得到一个长度为32的字符串;一般在插入密码时,不能直接插入数字,而是要经过md5算法进行数字摘要插入;
password(str)#对输入的密码进行加密,形成密文;
ifnull(val1,val2)#如果val1为null,返回val2,否则返回val1;由于null不参与计算,所以需要进行设计;

相关文章:

  • [STM32-HAL库]ADC采集-DMA中断采集-平均值滤波-STM32CUBEMX开发-HAL库开发系列-主控STM32F103C8T6
  • 吃透那些面试:MongoDb的索引
  • 【MATLAB源码-第84期】基于matlab的802.11a标准的OFDM系统误码仿真对比QPSK,16QAM。
  • Linux网络编程:传输层协议|UDP
  • yolox-何为EMA?
  • JAVA生成随机姓名(小白也能看得懂)
  • IDEA2023.2单击Setting提示报错:Cannot get children Easy Code
  • 【论文解读】A Progress Report: The Alliance for Open Media and the AV1 Codec
  • odoo16版本的render变更
  • 学习Uni-app开发小程序Day23
  • 06.部署jpress
  • Sublime Text 基础教程(个人总结)
  • 机器学习之爬山算法(Hill Climbing Algorithm)
  • 【OpenVINO™】在C#中使用 OpenVINO™ 部署 YOLOv10 模型实现目标
  • 多线程笔记
  • @angular/forms 源码解析之双向绑定
  • 《深入 React 技术栈》
  • 【391天】每日项目总结系列128(2018.03.03)
  • Date型的使用
  • iOS | NSProxy
  • Java,console输出实时的转向GUI textbox
  • JavaScript HTML DOM
  • javascript从右向左截取指定位数字符的3种方法
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • js如何打印object对象
  • npx命令介绍
  • Python实现BT种子转化为磁力链接【实战】
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • Travix是如何部署应用程序到Kubernetes上的
  • v-if和v-for连用出现的问题
  • webgl (原生)基础入门指南【一】
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 检测对象或数组
  • 前嗅ForeSpider教程:创建模板
  • 设计模式(12)迭代器模式(讲解+应用)
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 正则表达式-基础知识Review
  • #《AI中文版》V3 第 1 章 概述
  • #AngularJS#$sce.trustAsResourceUrl
  • (2)(2.10) LTM telemetry
  • (26)4.7 字符函数和字符串函数
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (python)数据结构---字典
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • [ 手记 ] 关于tomcat开机启动设置问题