MySQL数据库 常见内置函数-程序员宅基地

技术标签: Java笔记  mysql  数据库  

MySQL数据库 常见内置函数

1.数学函数

rand() round(num) ceil(num) floor(num)
随机 四舍五入 向上取整 向下取整

2.字符串函数

length() 字节长度
char_length() 字符长度

ucase() 大写
lcase() 小写

concat(字符,…,字符n) 连接字符串

replace(字符串,旧字符,新字符)字符串替换

mysql> SELECT REPLACE('1234.mp4','.mp4','.mp3')
1234.mp3
12

截取字符串
left(字符串,截取长度)
right(字符串,截取长度)
substring(字符串,开始位置,截取长度) #包含开始位置

mysql> select left('123456',4);
+------------------+
| left('123456',4) |
+------------------+
| 1234             |
+------------------+
1 row in set (0.00 sec)

mysql> select right('123456',4);
+-------------------+
| right('123456',4) |
+-------------------+
| 3456              |
+-------------------+
1 row in set (0.00 sec)

mysql> select substring('123456',2,4); 
+-------------------------+
| substring('123456',2,4) |
+-------------------------+
| 2345                    |
+-------------------------+
1 row in set (0.00 sec)
1234567891011121314151617181920212223

3.日期函数

now() unix_timestamp() from_unixtime()
当前时间 时间戳 格式化时间戳
mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2019-03-16 14:55:42 |
+---------------------+
1 row in set (0.00 sec)

mysql> select unix_timestamp();
+------------------+
| unix_timestamp() |
+------------------+
|       1552719356 |
+------------------+
1 row in set (0.00 sec)

mysql> select from_unixtime(1552719356);
+---------------------------+
| from_unixtime(1552719356) |
+---------------------------+
| 2019-03-16 14:55:56       |
+---------------------------+
1 row in set (0.00 sec)

123456789101112131415161718192021222324
year() month() day() hour() minute() second()
mysql> select 
    -> year(now()) as '年',
    -> month(now()) as '月',
    -> day(now()) as '日',
    -> hour(now()) as '时',
    -> minute(now()) as '分',
    -> second(now()) as '秒';
+------+------+------+------+------+------+
|||||||
+------+------+------+------+------+------+
| 2019 |    3 |   16 |   14 |   59 |   12 |
+------+------+------+------+------+------+

12345678910111213

4.加密函数

md5(数据)
password(数据)

5.条件判断函数

1).语法: if(数据,值1,值2) #判断指定数据是否为真:真-值1,假-值2

mysql> select if(null,1,2);
+--------------+
| if(null,1,2) |
+--------------+
|            2 |
+--------------+
1 row in set (0.00 sec)

mysql> select if(1,0,2);
+-----------+
| if(1,0,2) |
+-----------+
|         0 |
+-----------+
1 row in set (0.00 sec)

12345678910111213141516

2).语法: IFNULL(数据,值2) #判断指定数据是否为null:null-值2,非null-本身

mysql> select ifnull(0,123);
+---------------+
| ifnull(0,123) |
+---------------+
|             0 |
+---------------+
1 row in set (0.00 sec)

mysql> select ifnull('a',123);
+-----------------+
| ifnull('a',123) |
+-----------------+
| a               |
+-----------------+
1 row in set (0.00 sec)

12345678910111213141516

2.自定义函数

语法:

#修改结束符
delimiter //
create function 函数名(参数名 类型,...,参数名n 类型n) returns 返回数据类型
begin
#SQL语句
return 返回值;
end //
delimiter ;

#调用
select 函数名();

123456789101112
  • 输出"hello world"(不带参数的函数)
#判断函数是否存在,存在就删除
drop function if exists f1;

delimiter //
create function f1() returns varchar(30)
begin
    return 'hello world';
end //
delimiter ;

select f1();

+-------------+
| f1()        |
+-------------+
| hello world |
+-------------+
1234567891011121314151617
  • 传递两个整型求和(带参数的函数)
drop function if exists f2;

delimiter //

create function f2(num1 int, num2 int) returns int
begin
     return num1 + num2;
end //
delimiter ;

select f2(8, 2);

+----------+
| f2(8, 2) |
+----------+
|       10 |
+----------+
1234567891011121314151617

3.自定义函数相关语法

显示所有的函数:show function status\G #输出的内容很多

删除函数:drop function [if exists] 函数名;

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44141495/article/details/108613659

智能推荐

ios开发之NSNumber-程序员宅基地

初始化- (NSNumber *)initWithChar:(char)value;- (NSNumber *)initWithUnsignedChar:(unsigned char)value;- (NSNumber *)initWithShort:(short)value;- (NSNumber *)initWithUnsignedShort:(unsigned short)value;

计算机网络实验五——应用层和传输层协议分析_应用层实验-程序员宅基地

计算机网络实验五——应用层和传输层协议分析一、实验目的二、实验内容三、实验步骤(一)任务1: 从 PC 使用 URL 捕获 Web 请求1.配置Packet Tracer文件2.使用URL获取Web请求(二)任务2:访问服务器的HTTPS服务,捕获数据包并分析。1.任务要求2.捕获数据包3.分析(三)任务3:从PC访问服务器的FTP服务,捕获数据包并分析。1.任务要求2.具体步骤3.分析一、实验目的通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议_应用层实验

2022最新社区版IDEA没有SpringBoot Initializer和Spring Assistant插件的解决方法_idea社区版不支持springboot-程序员宅基地

问题描述2022最新版IDEA,没有SpringBoot Initializer和Spring Assistant插件,手动下载旧版插件和旧版软件也不再支持。那么这时候怎么使用SpringBoot Initializer创建项目呢?解决方案:https://plugins.jetbrains.com/plugin/18622-spring-initializr-and-assistant使用这个插件,可以使用原来SpringBoot Initializer的功能。..._idea社区版不支持springboot

MySQL基础 子查询的好处_子查询的优点-程序员宅基地

开发环境 MySQL版本: 5.5.49表结构与基本数据的准备DROP TABLE IF EXISTS `products`;CREATE TABLE `products` ( `pid` int(11) NOT NULL AUTO_INCREMENT, `pname` varchar(20) DEFAULT NULL, `price` double DEFAULT NULL..._子查询的优点

远程文件传输-程序员宅基地

(1)scp用法上传文件:scp 本地文件 远程用户主机@ip:远程主机村存放目录例如:scp /mnt/wes7 [email protected]:/mnt测试:在远程主机上查看文件是否上传成功上传目录:scp -r 本地目录 远程主机名@ip:存放位置例如:scp -r /mnt [email protected]:/mnt测试:在远程主机上查看目录是否存在...

腾讯云服务器漏洞怎么修复,腾讯云安全中心监测到微软披露的99个漏洞,win系统云服务器用户尽快修复..._zweig123的博客-程序员宅基地

近日,腾讯云安全中心监测到微软于周二补丁日发布了2020年2月安全补丁更新公告,一共披露了99 个漏洞,其中12个漏洞评级为”严重”级别,攻击者可利用漏洞进行本地权限提升、远程代码执行等攻击。为避免您的业务受影响,腾讯云安全中心建议您及时开展安全自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。建议您在安装补丁前做好数据备份工作,避免出现意外。【漏洞详情】1、Internet Ex..._腾讯云服务器漏洞怎么修复

随便推点

web自动化元素定位的几种方式分析(selenium版本)-程序员宅基地

简单的说可以分为标签属性名定位哦,例如id,name,class,标签名定位:标签的名字 ,可能有标签名字重复的,首选第一个读到标签为准哦css 选择器定位 :根据标签的层级关系进行定位文本内容定位:link 和partial_link还有就是xpath : 定位具体步骤的话,大部分浏览器是雷同的。网页后台检查,查看源码,可以先鼠标选中要定位的元素,再右键检查哦,也可以先打开后台,然后再检查页的左上角点击选择,鼠标进行滑动就可以了哦。页面鼠标滑过停留有的浏览器会带蓝色的阴影,比如谷歌,这个

(模板)区间修改与查询-程序员宅基地

题目呀#include <cstdio>#include <iostream>#include <string>#include <cstring>#define LL long long using namespace std;const int MAXN=200001;LL a[MAXN];struct..._区间修改与查询

BUUCTF--[SWPU2019]Web3-程序员宅基地

进入后是一个登录页面,本以为要秀一番操作,这里直接随便输入即可登录进去登录进去后只有一个upload按钮,点击后给出提示Permission denied!,这里猜测是要伪造Session找到session,将session的值进行分析 使用大佬的脚本可以解这个session#!/usr/bin/env python3import sysimport zlibfrom base64 import b64decodefrom flask.sessions import sess._[swpu2019]web3

openwrt、linux定时任务crond_openwrt 计划任务-程序员宅基地

一、介绍crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,任务可以是命令也可以是脚本,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务二、使用方法1、编写定时执行的程序或者脚本2、修改crond文件,这个文件是执行crondtab -e自动生成和修改的,不需要手动添加,系统根据/etc/crondtabs目录下的crond文件执行周期任务3、crond文件的格式minute_openwrt 计划任务

Zookeeper启动失败_o.e.j.s.servletcontexthandler@1fe20588{/,null,unav-程序员宅基地

./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /Users/leewz/app/zookeeper-3.5.3-beta/bin/../conf/zoo.cfgClient port found: 2181. Client address: localhost.Error contactin..._o.e.j.s.servletcontexthandler@1fe20588{/,null,unavailable} contextpath ends

linux nohup后台执行管道操作_nohup 管道-程序员宅基地

解决方法nohup sh -c "cmd1 | cmd2" &或使用:nohup $SHELL <<EOF &cmd1 | cmd2EOF这里的$SHELL一般是/bin/bash参考文章Does nohup work across a pipe?:https://stackoverflow.com/questions/26912092/does-nohup-work-across-a-pipe..._nohup 管道

推荐文章

热门文章

相关标签