10.数据库中的内置函数

字符串函数

查看字符的ascii码值ascii(str),str是空串时返回0

查看ascii码值对应的字符char(数字):select char(97);
拼接字符串concat(str1,str2...):selectconcat(12,34,'ab');
包含字符个数length(str):selectlength('abc');

截取字符串

left(str,len)返回字符串str的左端len个字符

right(str,len)返回字符串str的右端len个字符

substring(str,pos,len)返回字符串str的位置pos起len个字符

select substring('abc123',2,3);

去除空格

ltrim(str)返回删除了左空格的字符串str

rtrim(str)返回删除了右空格的字符串str

trim([方向remstr from str)返回从某侧删除remstr后的字符串str,方向词包括both、leading、trailing,表示两侧、左、右

select trim(' bar   ');
select trim(leading 'x' FROM 'xxxbarxxx');
select trim(both 'x' FROM 'xxxbarxxx');
select trim(trailing 'x' FROM 'xxxbarxxx');

返回由n个空格字符组成的一个字符串space(n):select space(10);
替换字符串replace(str,from_str,to_str)

大小写转换,函数如下lower(str)、upper(str)

 

数学函数

求绝对值ABS(n)的select abs(-32);
求米除以Ñ的余数模(M,N),同运算符%:selectmod(10,3);select 10%3;
地板地板(n)时,表示不大于Ñ的最大整数:selectfloor(2.3);
天花板的天花板(n)时,表示不小于Ñ的最大整数:selectceiling(2.3);

求四舍五入值轮(N,D)中,n表示原数,D表示小数位置,默认为0

select round(1.6);

求X的ý次幂POW(X,Y):select pow(2,3);

获取圆周率PI():select PI();

随机数RAND(),值为0-1.0的浮点数:select rand();

 

日期时间函数

获取子值,值为整数类型,函数如下

年(日)返回日期的年份(范围在1000到9999)

月(日)返回日期中的月份数值

日(日)返回日期中的日期数值

小时(时间)返回时间的小时数(范围是0到23)

分钟(时间)返回时间的分钟数(范围是0到59)

第二(时间)返回时间的秒数(范围是0到59)

select year('2016-12-21');

日期计算,使用+- 运算符,数字后面的关键字为年,月,日,时,分,秒

select '2016-12-21'+interval 1 day;

日期格式化DATE_FORMAT(日期,格式)

参数格式可选值如下

%Y 获取年,返回完整年份
%y 获取年,返回简写年份
%m 获取月,返回月份
%d 获取日,返回天值
%H 获取时,返回24进制的小时数
%h 获取时,返回12进制的小时数
%i 获取分,返回分钟数
%s 获取秒,返回秒数

示例如下:将使用- 拼接的日期转换为使用空格拼接

select date_format('2016-12-21','%Y %m %d');

当前日期CURRENT_DATE()select current_date();
当前时间的current_time()selectcurrent_time();
现在当前日期时间()select now();

 

类型转换函数

有投和转换两个函数

语法如下:

cast(value as type)
convert(value, type)

值表示要转换的值,键入表示目标类型

目标类型如下:

二进制二进制

字符型炭,可指定字符个数如炭(10)

日期日期

时间时间

日期时间型日期时间

浮点数小数

整数签署

无符号整数无符号

SELECTCONVERT('125.83',SIGNED);SELECT CAST('125.83' AS signed);

 

流程控制

类似于python中的if语句,进行选择判断

case语法1:等值判断

说明:当值等于某个比较值的时候,对应的结果会被返回;如果所有的比较值都不相等则返回else的结果;如果没有else并且所有比较值都不相等则返回null

case when 比较值1 then 结果1when 比较值2 then 结果2... else 结果 end
例:
select case 1 when 1 then 'one' when 2 then 'two' else 'zero' end as result;

case语法2:非等值判断,可以进行 > 、<、!=等判断

说明:当某个条件返回true时,对应的结果被返回;如果所有的条件都不返回true则返回else的结果;如果没有else并且所有条件都不返回true则返回null

case when 条件1then 结果1 when 条件2 then 结果2... else 结果 end
例:
select case when 1 > 2 then 'part1' when 3 > 2 then 'part2' else 'part3'end as result;

if语句,说明:如果表达式的结果为true,则返回结果1,否则返回结果2

if(表达式,结果1,结果2)
例:select if(1 > 2,2,3) as result;

ifnull语句,说明:如果表达式1不为null,则返回表达式1的结果,否则返回表达式2的结果

ifnull(表达式1,表达式2)
例:select ifnull(1,0) as result;

nullif语句,说明:如果表达式1等于表达式2,则返回null,否则返回表达式1的结果

nullif(表达式1,表达式2)
例:select nullif(1,0) as result;

 

 

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

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

相关文章

Java基础10(反射)

Java基础10&#xff08;反射&#xff09; 1 什么是反射 官方解释&#xff1a;反射&#xff08;reflection&#xff09;技术通常被用来检测和改变应用程序在 Java 虚拟机中的行为表现。它是一个相对而言比较高级的技术&#xff0c;反射是一种强有力的技术特性&#xff0c;因此…

05.序列模型 W1.循环序列模型(作业:手写RNN+恐龙名字生成)

文章目录作业1&#xff1a;建立你的循环神经网络1. RNN 前向传播1.1 RNN 单元1.2 RNN 前向传播2. LSTM 网络2.1 LSTM 单元2.2 LSTM 前向传播3. RNN 反向传播3.1 基础 RNN 反向传播3.2 LSTM 反向传播3.3 LSTM RNN网络反向传播作业2&#xff1a;字符级语言模型&#xff1a;恐龙岛…

给年轻工程师的十大忠告

给年轻工程师的十大忠告 转自http://blog.163.com/tgyeboy02126/blog/static/167507500201191102114940/诸位&#xff0c;咱当电子工程师也是十余年了&#xff0c;不算有出息&#xff0c;环顾四周&#xff0c;也没有看见几个有出息的&#xff01;回顾工程师生涯&#xff0c;感…

11.MYSQL高级(一)

1.账户管理 在生产环境下操作数据库时&#xff0c;绝对不可以使用root账户连接&#xff0c;而是创建特定的账户&#xff0c;授予这个账户特定的操作权限&#xff0c;然后连接进行操作&#xff0c;主要的操作就是数据的crud MySQL账户体系&#xff1a;根据账户所具有的权限的不…

SQL2008中Merge的用法

SQL2008中Merge的用法 在SQL2008中&#xff0c;新增了一个关键字&#xff1a;Merge&#xff0c;这个和Oracle的Merge的用法差不多&#xff0c;只是新增了一个delete方法而已。下面就是具体的使用说明&#xff1a; 首先是对merge的使用说明&#xff1a; merge [into][目标表]usi…

LeetCode 1146. 快照数组(哈希map + 有序map)

文章目录1. 题目2. 解题1. 题目 实现支持下列接口的「快照数组」- SnapshotArray&#xff1a; SnapshotArray(int length) - 初始化一个与指定长度相等的 类数组 的数据结构。初始时&#xff0c;每个元素都等于 0。void set(index, val) - 会将指定索引 index 处的元素设置为…

12.MYSQL高级(二)

1.视图&#xff08;重点 视图本质就是对查询的封装&#xff0c;定义视图&#xff0c;建议以v_开头 create view 视图名称 as select语句; 例&#xff1a;创建视图&#xff0c;查询学生对应的成绩信息 create view v_stu_sco as select students.*,scores.score from scores in…

1.NoSQL与MongoDB简介

NoSQL&#xff1a;非关系型数据库 使用范围&#xff1a;论坛、博客、sns、微博 NoSQL优势&#xff1a; 1.易扩展 2.数据量大&#xff0c;高性能 3.灵活的数据模型 4.高可用 MongoDB特点 模式自由 :可以把不同结构的文档存储在同一个数据库里 面向集合的存储&#xff1a;…

LeetCode 825. 适龄的朋友(计数排序+前缀和)

文章目录1. 题目2. 解题1. 题目 人们会互相发送好友请求&#xff0c;现在给定一个包含有他们年龄的数组&#xff0c;ages[i] 表示第 i 个人的年龄。 当满足以下任一条件时&#xff0c;A 不能给 B&#xff08;A、B不为同一人&#xff09;发送好友请求&#xff1a; age[B] <…

[转]java 组播

1. 组播知识介绍&#xff1a; http://blog.csdn.net/happy_david/article/details/1569209 2. java 组播实现&#xff1a;来自&#xff1a; http://blog.csdn.net/a352193394/article/details/7395600 下面来演示一下使用Java Socket的组播类实现一个组播的小案例 首先是接收端…

2.MongoDB基本操作

数据库命令 连接成功后&#xff0c;默认使用test数据库 查看当前数据库名称&#xff1a;db 查看所有数据库名称&#xff1a;show dbs 切换数据库&#xff0c;如果数据库不存在也并不创建&#xff0c;直到插入数据或创建集合时数据库才被创建&#xff1a;use 数据库名称 删除当…

LeetCode 954. 二倍数对数组(map计数)

文章目录1. 题目2. 解题1. 题目 给定一个长度为偶数的整数数组 A&#xff0c;只有对 A 进行重组后可以满足 对于每个 0 < i < len(A) / 2&#xff0c;都有 A[2 * i 1] 2 * A[2 * i] 时&#xff0c;返回 true&#xff1b;否则&#xff0c;返回 false。 示例 1&#xf…

jsp用tags传递参数

<computer:trangleTag sideA"12" sideB"12" sideC"12"/>表示以字符串传递sideABC <computer:trangleTag sideA“uname” sideB“ustudentcode” sideC“upassword” />表示传递的字符串是uname&#xff0c;ustudentcode&#xff0c;…

3.MongoDB数据查询

数据查询 基本查询 方法find()&#xff1a;查询&#xff1a;db.集合名称.find({条件文档}) 方法findOne()&#xff1a;查询&#xff0c;只返回第一个&#xff1a;db.集合名称.findOne({条件文档}) 方法pretty()&#xff1a;将结果格式化&#xff1a;db.集合名称.find({条件文档…

Java增强之并发编程

Java增强之并发编程 1 多线程 1.1 进程及线程 程序启动的时候&#xff0c;电脑会把这个程序加载到内存&#xff0c;在内存中需要给当前的程序分配一段的独立运行的空间&#xff0c;这个空间就专门负责这个程序的运行。每个应用程序运行都需要在内存中有自己独立的运行空间&a…

LeetCode 732. 我的日程安排表 III(差分思想)

文章目录1. 题目2. 解题1. 题目 实现一个 MyCalendar 类来存放你的日程安排&#xff0c;你可以一直添加新的日程安排。 MyCalendar 有一个 book(int start, int end)方法。它意味着在start到end时间内增加一个日程安排&#xff0c;注意&#xff0c;这里的时间是半开区间&…

4.聚合aggregate

聚合(aggregate)主要用于计算数据&#xff0c;类似sql中的sum()、avg() 语法&#xff1a;db.集合名称.aggregate({管道:{表达式}}) 管道 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的输入 ps ajx | grep mongo 常用管道 $group&#xff1a;将集合中的…

WebView退出时停止视频播放

网上比较流行的方法: 在activity的onPause函数中调用webview的onPause函数。 弊端:视频虽然停止播放但是还是在从网上加载数据(观察流量统计); 比较好的方法: 在activity的onPause函数中调用webview的onPause函数。 在activity的onDestroy函数中webview.loadUrl("file:///…

5.MongoDB索引

mongodb支持索引&#xff0c;以提升查询速度 步骤一&#xff1a;创建大量数据 在命令行中执行如下代码&#xff0c;向集合中插入10万条文档 注意&#xff1a;不要在图形界面中执行&#xff0c;因为软件原因无法插入10万条数据就会中断执行 for(i0;i<100000;i){ db.t1.in…

Hadoop学习之整体介绍及环境搭建

Hadoop学习之整体介绍及环境搭建 1 大数据概述 1.1 什么是大数据 数据(data)是事实或观察的结果&#xff0c;是对客观事物的逻辑归纳&#xff0c;是用于表示客观事物的未经加 工的的原始素材。 大数据&#xff1a;传统处理方式无法解决的不仅大而且复杂的数据集的存储和计算…