首页 > 数据库 >MYSQL基础知识之函数

MYSQL基础知识之函数

时间:2023-04-05 22:22:48浏览次数:40  
标签:返回 函数 基础知识 str MYSQL 字符串 YES SELECT

 1、函数概念

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

2、字符串函数

MySQL常用的字符串函数有:

# CONCAT(S1,S2,...Sn) :字符串拼接,将S1,S2,...Sn拼接成一个字符串

SELECT CONCAT('hello','world');

 #LOWER(str): 将字符串str全部转为小写

SELECT LOWER('ABCD');

#UPPER(str): 将字符串str全部转为大写

SELECT LOWER('abcd');

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

 SELECT LPAD('a',6,'s');

#右填充,用字符串pad对str的右边进行填充,达到n个字符串长度

  SELECT RPAD('a',6,'s');

#TRIM(str):去掉字符串头部和尾部的空格

 SELECT TRIM(' aaa         ');

#SUBSTRING(str,start,len):返回从字符串str从start位置起的len个长度的字符串

 SELECT SUBSTRING('ABCDEFG',1,3);

 

 3、数值函数

MySQL常用的数值函数有:

#CEIL(x):向上取整

SELECT CEIL(1.5);

#FLOOR(x):向下取整

SELECT FLOOR(1.5);

#MOD(x,y):返回x/y的模

SELECT MOD(3,2);

#RAND():返回0~1内的随机数

SELECT RAND();

#ROUND(x,y):求参数x的四舍五入的值,保留y位小数

SELECT ROUND(1.6548,2);

 

4、日期函数

MySQL常用的日期函数有:

#CURDATE():返回当前日期

SELECT CURDATE();

#CURTIME():返回当前时间

SELECT CURTIME();

#NOW():返回当前日期和时间

SELECT NOW();

#YEAR(date):获取指定date的年份

SELECT YEAR(20230405);

#MONTH(date):获取指定date的月份

SELECT MONTH(20230405);

#DAY(date):获取指定date的日期

SELECT DAY(20230405);

#DATE_ADD(date,INTERVAL expr type):返回一个日期/时间值加上一个时间间隔expr后的时间值

SELECT DATE_ADD(20230405,INTERVAL 30 DAY);

#DATEDIFF(date1,date2):返回起始时间date1和结束时间date2之间的天数

SELECT DATEDIFF(20230405,20230505);

 

5、流程函数

 MySQL常用的流程函数有:

#IF(value,t,f):如果value为true,则返回t,否则返回f

SELECT IF(TRUE,'YES','NO');

#IFNULL(value1,value2):如果value1不为空,返回value1,否则返回value2

SELECT IFNULL(NULL,'YES');

SELECT IFNULL('NO','YES');

#CASE WHEN [val1] THEN [res1] ... ELSE [default] END:如果val1为true,返回res1,...否则返回default默认值

SELECT CASE WHEN TRUE THEN 'YES' ELSE 'NO' END ;

#CASE [expr] WHEN [val1] THEN [res1] ... ELSE [default] END:如果expr的值等于val1,返回res1,...否则返回default默认值

SELECT CASE 'YES' WHEN 'YES' THEN 'IS YES' ELSE 'IS NO' END ;

 

标签:返回,函数,基础知识,str,MYSQL,字符串,YES,SELECT
From: https://www.cnblogs.com/jpxjx/p/17290952.html

相关文章

  • MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YE
    发现是springboot结合JDBC时,我这里输入纯数字加点,就会出现这个问题。  后来我改数据库密码,改成字母开头的数据库密码,就可以了。 但是有个奇怪的是,我方式数字+点的密码是复制过去的,当时idea的编辑器,打开该密码是橙色的。可能是我当时复制的格式有问题。我现在输入并没有......
  • mysql 两百万数据 深分页性能优化
    --ddlCREATETABLE`student`( `id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'主键', `user_no`varchar(50)DEFAULT''COMMENT'学号', `user_name`varchar(50)DEFAULT''COMMENT'姓名', `score`decimal(10,2)DEFAU......
  • mysql底层
          B数每个节点都会存储值  B+数的数据是存储在叶子节点,通过链表,将所有数据进行链接  ......
  • PHP基础知识之————PHP Web脚本中使用FFmpeg
    简介本文将尝试指出在PHPWeb脚本中使用FFmpeg时需要了解的所有重要事项。它还将显示一些使用示例,以使事情更清楚。这个想法也可以应用到其他web脚本语言。从PHP脚本调用命令行工具选择一个模型网页设计为快速执行,以便浏览您的网站的人不必等待太多的响应。因为如果他们无聊的等待,......
  • 理论基础知识之————KB Kb Kbps 相关单位的区别和换算
    换算公式 8bit(位)=1Byte(字节)1024Byte(字节)=1KB1024KB=1MB1024MB=1GB1024GB=1TB 容量是大写的 B而传输的速度是小写的 bbps 是bitspersecond的缩写,表示比特/秒。    Bps 是bitypersecond的缩写,表示字节/秒。    这个p又可以写成/, S是秒的缩写,所......
  • JavaScript基础知识之——Location 对象详解
    属性描述location.hash设置或取得URL中的锚location.host设置或取得URL中主机(包括端口号)location.hostname设置或取得URL中的主机名location.href设置或取得完整URL(页面重定向应用)location.pathname设置或取得URL中的路径location.port设置或取得URL中的端口号location.......
  • Redis基础知识之—— 缓存应用场景
    一、MySql+Memcached架构的问题Memcached采用客户端-服务器的架构,客户端和服务器端的通讯使用自定义的协议标准,只要满足协议格式要求,客户端Library可以用任何语言实现。Memcached服务器使用基于Slab的内存管理方式,有利于减少内存碎片和频繁分配销毁内存所带来的开销。各个Slab按需......
  • MYSQL ERROR1045 报错的解决办法
    问题原因是密码错误导致的但是我输入的密码是安装MYSQL的时候设定的密码,应该是正确的。其实并不是,因为mysql会随机生成一个乱码作为你的密码。你需要改掉(或者记下)这个密码。解决方法:1.在my.ini中输入以下内容3.保存之后在命令行输入netstartmysql启动服务4.免密码登陆my......
  • MySQL(十一)索引的分类和创建原则
    索引的创建与设计原则1索引的声明与使用1.1索引的分类​ MySQL索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引按照逻辑结构划分,主要有四种:普通索引、唯一性索引、主键索引和全文索引按照物理实现方式划分,主要有两种:聚簇索引和非聚簇索引按照作......
  • mysql实现nextVal功能
    mysql实现nextVal功能首先创建表:CREATETABLE`sys_sequence`(`NAME`varchar(50)NOTNULL,`CURRENT_VALUE`int(11)NOTNULLDEFAULT'0',`INCREMENT`int(11)NOTNULLDEFAULT'1',PRIMARYKEY(`NAME`))插入记录INSERTINTOSYS_SEQUEN......