MySQL-- 函数(单行函数):数值函数, 字符串函数
目录
1.数值函数
2. 字符串函数
1.数值函数
ABS:绝对值 ; SIGN:数字正负,正返回1,负返回-1 , 0返回0 ; CEIL,CEILING:取数上面的数 ;FLOOR:取数下面的数 ; MOD:取余
#基本的操作
SELECT ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32),
FLOOR(-43.23),MOD(12,5),12 MOD 5,12 % 5
FROM DUAL;
RAND:随机数,后面加括号取相同随机数
#取随机数
SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1)
FROM DUAL;
ROUND:四舍五入 ; TRUNCATE:截断操作(无视四舍五入)
#四舍五入,截断操作
SELECT ROUND(123.556),ROUND(123.456,0),ROUND(123.456,1),ROUND(123.456,2),
ROUND(123.456,-1),ROUND(153.456,-2)
FROM DUAL;SELECT TRUNCATE(123.456,0),TRUNCATE(123.496,1),TRUNCATE(129.45,-1)
FROM DUAL;
单行函数可以嵌套
SELECT TRUNCATE(ROUND(123.456,2),0)
FROM DUAL;
RADIANS:弧度的转换 ; DEGREES:角度的转换
SELECT RADIANS(30),RADIANS(45),RADIANS(60),RADIANS(90),
DEGREES(2*PI()),DEGREES(RADIANS(60))
FROM DUAL;
SIN/ASIN/COS/ACOS/TAN/ATAN/COT:三角函数(必须用弧度制,可以嵌套)
SELECT SIN(RADIANS(30)),DEGREES(ASIN(1)),TAN(RADIANS(45)),DEGREES(ATAN(1))
FROM DUAL;
POW/POWER指数 ; EXP:指数次方
SELECT POW(2,5),POWER(2,4),EXP(2)
FROM DUAL;
LN:以e为底 ; LOG:以10为底
SELECT LN(EXP(2)),LOG(EXP(2)),LOG10(10),LOG2(4)
FROM DUAL;
进制间的转换:BIN:转二进制 ; HEX:十进制 ; OCT:八进制 ; CONV:返回第二位进制数变成第三位进制数
SELECT BIN(10),HEX(10),OCT(10),CONV(10,10,8)
FROM DUAL;
2. 字符串函数
ASCII(S):返回字符串S中的第一个字符的ASCII码值
CHAR_LENGTH(S):返回字符串s的字符数,作用与CHARACTER_LENGTH(s)相同
LENGTH(s) :返回字符串s的字节数,和字符集有关
SELECT ASCII('Abcdfsf'),CHAR_LENGTH('hello'),CHAR_LENGTH('我们'),
LENGTH('hello'),LENGTH('我们')
FROM DUAL;
CONCAT(s1,s2,……, sn) 连接s1,s2,……, sn为一个字符串
CONCAT_WS(x,s1,s2,……, sn) 同CONCAT(s1,s2,…)函数, 但是每个字符串之间要加上x
# xxx worked for yyy
SELECT CONCAT(emp.last_name,' worked for ',mgr.last_name) "details"
FROM employees emp JOIN employees mgr
WHERE emp.`manager_id` = mgr.employee_id;SELECT CONCAT_WS('-','hello','world','hello','beijing')
FROM DUAL;
INSERT(str, idx, len,replacestr) 将字符串 str从第 idx位置开始, len个字符长的子串替换为字符串 replacestr
REPLACE(str,a,b) 用字符串b替换字符串 str中所有出现的字符串a
UPPER(s)或UCASE(s) 将字符串s的所有字母转成大写字母
#字符串的索引是从1开始的!
SELECT INSERT('helloworld',2,3,'aaaaa'),REPLACE('hello','lol','mmm')
FROM DUAL;SELECT UPPER('HelLo'),LOWER('HelLo')
FROM DUAL;
LOWER(s) 或LCASE(s) 将字符串s的所有字母转成小写字母
SELECT last_name,salary
FROM employees
WHERE LOWER(last_name) = 'King';
LEFT(str,n) 返回字符串 str最左边的n个字符
RIGHT(str,n) 返回字符串 str最右边的n个字符
SELECT LEFT('hello',2),RIGHT('hello',3),RIGHT('hello',13)
FROM DUAL;
LPAD(str, len, pad) 用字符串 pad对 str最左边进行填充,直到 str的长度为 len个字符
RPAD(str, len, pad) 用字符串 pad对 str最右边进行填充,直到 str的长度为 len个字符
# LPAD:实现右对齐效果
# RPAD:实现左对齐效果
SELECT employee_id,last_name,LPAD(salary,10,' ')
FROM employees;
LTRIM(s) 去掉字符串s左侧的空格
RTRIM(s) 去掉字符串s右侧的空格TRIM(s) 去掉字符串s开始与结尾的空格
TRIM(s1 FROMs) 去掉字符串s开始与结尾的s1
TRIM(LEADING s1FROMs) 去掉字符串s开始处的s1
TRIM(TRAILING s1FROM s) 去掉字符串s结尾处的s1
SELECT CONCAT('---',LTRIM(' h el lo '),'***'),
TRIM('oo' FROM 'ooheollo')
FROM DUAL;
REPEAT(str,n) 返回 str重复n次的结果
SPACE(n) 返回n个空格
STRCMP(s1,s2) 比较字符串s1,s2的ASCII码值的大小
SELECT REPEAT('hello',4),LENGTH(SPACE(5)),STRCMP('abc','abe')
FROM DUAL;
SUBSTR(s, index, len) 返回从字符串s的 index位置其 len个字符, 作用与SUBSTRING(s,n, len)、MID(s,n, len)相同
LOCATE(substr, str)
返回字符串 substr在字符串 str中首次出现的位置, 作用于POSITION(substr IN str)、
INSTR(str, substr)相同。未找到, 返回0
SELECT SUBSTR('hello',2,2),LOCATE('lll','hello')
FROM DUAL;
ELT(m,s1,s2,…, sn) 返回指定位置的字符串,如果m=1,则返回s1,如果m=2,则返回s2,如果m=n,则返回 sn
FIELD(s,s1,s2,…, sn) 返回字符串s在字符串列表中第一次出现的位置
FIND_IN_SET(s1,s2) 返回字符串s1在字符串s2中出现的位置。其中,字符串s2是一个以逗号分隔的字符串
SELECT ELT(2,'a','b','c','d'),FIELD('mm','gg','jj','mm','dd','mm'),
FIND_IN_SET('mm','gg,mm,jj,dd,mm,gg')
FROM DUAL;SELECT employee_id,NULLIF(LENGTH(first_name),LENGTH(last_name)) "compare"
FROM employees;
相关文章:
MySQL-- 函数(单行函数):数值函数, 字符串函数
目录 1.数值函数 2. 字符串函数 1.数值函数 ABS:绝对值 ; SIGN:数字正负,正返回1,负返回-1 , 0返回0 ; CEIL,CEILING:取数上面的数 ;FLOOR:取数下面的数 ; MOD:取余 #基本的操作 SELECT ABS(-123),ABS…...
CSS--解决float: right在空间不够时会自动往下移的问题
原文网址:CSS--解决float: right在空间不够时会自动往下移的问题-CSDN博客 简介 众所周知,float: right在空间不够时会自动往下移。那么怎样让它不要往下移呢?本文介绍解决方案。 需求 我想写一个无需列表,每个列表后边跟一个…...
深度学习 Deep Learning 第14章 自编码器
深度学习 Deep Learning 第14章 自编码器 内容概要 本章深入探讨了自编码器(Autoencoders),这是一种用于特征学习和降维的神经网络架构。自编码器通过编码器和解码器两个部分,将输入数据映射到一个内部表示(编码&…...
C++(匿名函数+继承+多态)
#include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory>using namespace std;// 基类 Weapon class Weapon { protected:int atk; public:Weapon…...
软考中级网络工程师第十一章网络管理
11-1考点分析 11-2网络管理基础(记忆) 网络管理体系结构 网络管理五大功能域:故障管理、配置管理、计费管理、性能管理和安全管理。 助记: “安配能计障” 故障管理:尽快发现故障,找出故障原因&#x…...
创维E900V22C/E900V22D_S905L3(B)_安卓9.0_指示灯正常_线刷固件包
创维E900V22C/E900V22D_S905L3(B)_安卓9.0_指示灯正常_线刷固件包 线刷方法:(新手参考借鉴一下) 1、准备好一根双公头USB线刷刷机线,长度30-50CM长度最佳,同时准备一台电脑; 2、电脑上安装好刷…...
“京数青算“启新篇|北方算网与海东市数据局签署合作协议
近日,青海省海东市2025年“京数青算”推介会在北京召开。海东市委常委、副市长梁荣勃,海东市数据局局长安志忠出席会议,北方算网副总经理(主持工作)喻一鸣等60余家人工智能企业的代表参会。 梁荣勃在致辞中代表海东市…...
QML输入控件: Slider的高级外观定制(音视频控制条)
目录 引言相关阅读示例1:基础样式定制要点效果 示例2:音量控制滑块要点效果 示例3:视频进度条要点效果 解决问题总结工程下载 引言 在现代用户界面设计中,滑块控件(Slider)是一个不可或缺的交互元素。它不仅能让用户直观地进行数…...
密码学基础——古典密码学
目录 一、定义 特点: 二、发展阶段 三、代换密码 1.单表代换密码 1.1恺撒密码 1.2 移位变换 1.3 仿射变换 2.多表代换密码 维吉尼亚密码 四、置换密码 栅栏密码 一、定义 古典密码学是指在现代密码学出现之前,使用较为简单的数学方法和手工…...
KingbaseES物理备份还原之备份还原
此篇续接上一篇<<KingbaseES物理备份还原之物理备份>>,上一篇写物理备份相关操作,此篇写备份还原的具体操作步骤. KingbaseES版本:V009R004C011B003 一.执行最新物理备份还原 --停止数据库服务,并创建物理备份还原测试目录 [V9R4C11B3192-168-198-198 V8]$ sys_ct…...
C++友元与动态内存
一、友元 友元是一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。友元不是成员函数,但是它可以访问类中的私有成员。 类具有封装和信息隐藏的特性。…...
catch-all路由
介绍 ✅ 什么是 Catch-All 路由? Catch-All 路由 指的是:一个能匹配“任意路径”的通配型路由。 它一般会使用 路径参数 path 类型,比如: app.get("/{full_path:path}") async def fallback_handler(full_path: str):…...
jdk21新特性详解使用总结
jdk21新特性详解总结 1.StringBuilder和StringBuffer新增了一个repeat方法 /*** Java 21的StringBuilder和StringBuffer新增了一个repeat方法*/public static void repeatStr(){var sbnew StringBuilder().repeat("*",10);System.out.println(sb);}运行结果如下&…...
子网划分超AI教程:5分钟教会划分子网
友情提示:本文内容由银河易创AI(https://ai.eaigx.com)创作平台deepseek-v3模型生成,仅供参考 前言 子网划分(Subnetting)是网络工程师和IT运维人员必须掌握的基础技能,但对于初学者来说&#…...
制造业数字化转型:流程改造先行还是系统固化数据?基于以MTO和MTS的投资回报分析
1. 执行摘要 制造业正经历一场深刻的数字化转型,企业面临着先进行流程改造以优化运营,还是直接上线系统以固化数据的战略选择。本文深入分析了以销定产(MTO)和以产定销(MTS)两种主要生产模式下,…...
【实用技巧】电脑重装后的Office下载和设置
写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言下载设置总结互动致谢参考目录导航 前言 在数字化办公时代,Windows和…...
使用Android 原生LocationManager获取经纬度
一、常用方案 1、使用LocationManager GPS和网络定位 缺点:个别设备,室内或者地下停车场获取不到gps定位,故需要和网络定位相结合使用 2、使用Google Play服务 这种方案需要Android手机中有安装谷歌服务,然后导入谷歌的第三方库: 例如:i…...
STM32开发板上生成PWM正弦波
在STM32开发板上生成正弦波通常需要结合定时器(TIM)、数模转换器(DAC)或脉宽调制(PWM)以及时钟系统的配置。以下是分步指南: 方法1:使用DAC 定时器(推荐) 步…...
量子计算与人工智能融合的未来趋势
最近研学过程中发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击链接跳转到网站人工智能及编程语言学习教程。读者们可以通过里面的文章详细了解一下人工智能及其编程等教程和学习方法。 在当今科技飞速发展…...
关于登录鉴权session、cookie和token
一、cookie是用来解决什么问题的? 假如现有业务需求:当浏览器发起一个url请求之后,在一个会话周期内,服务端需要判断这个用户是否第一次发起请求,第一次请求展示的页面跟第N次请求需要响应的页面不同的。现在我们大部分…...
206. 反转链表 92. 反转链表 II 25. K 个一组翻转链表
leetcode Hot 100系列 文章目录 一、翻转链表二、反转链表 II三、K 个一组翻转链表总结 一、翻转链表 建立pre为空,建立cur为head,开始循环:先保存cur的next的值,再将cur的next置为pre,将pre前进到cur的位置…...
实时内核稳定性 - scheduling while atomic
scheduling while atomic问题 根因:未成对使用获取cpu_id的函数[ 291.881071][ 0] [XW]: type=0x00000003 cpuid=4 time=1725877230 subj...
离线语音识别 ( 小语种国家都支持)可定制词组
1产品介绍 离线语音模组采用神经网络算法,支持语音识别、自学习等功能。运用此模组将 AI 技 术赋能产品,升级改造出语音操控的智能硬件 ( 例如风扇、台灯、空调、马桶、按摩椅、运 动相机、行车记录仪等 ) 。支持全球多种语言识别,如中文…...
网络华为HCIA+HCIP 策略路由,双点双向
目录 路由策略,策略路由 策略路由优势 策略路由分类 接口策略路由 双点双向 双点双向路由引入特点: 联系 路由回灌和环路问题 路由策略,策略路由 路由策略:是对路由条目进行控制,通过控制路由条目影响报文的转发路径,即路…...
【面试篇】JVM
文章目录 一、JVM 内存结构1. 请详细描述 JVM 的内存结构,各个区域的作用是什么?2. 堆内存是如何划分的?新生代和老年代的比例是多少?3. Eden 区和 Survivor 区的作用是什么?它们之间是如何协作的?4. 方法区…...
【TI MSPM0】ADC DAC学习
一、样例展示 通过ADC0触发单次采样,如果采样结果大于0.5倍的VDD,就点亮LED 否则熄灭LED 编译加载运行这个历程,提供一个电压到A0_2引脚上,电压范围在0-VCC之间同时观察LED1.在上电后,默认将ADC配置到正确的引脚模式,…...
Cesium系列:从入门到实践,打造属于你的3D地球应用
一、Cesium简介 CesiumJS 是一个开源的 JavaScript 库,它能够帮助开发者创建出具有卓越性能、高精度、出色视觉质量和易用性的世界级 3D 地球仪和地图。无论是在航空航天领域,用于模拟飞行路径和展示卫星数据;还是在智能城市中,用…...
笔记1——数据通信网络基础
一、概述 数据通信网络:由路由器、交换机、防火墙、无线设备以终端构成的网络 功能:实现数据互通 二、网络设备 交换机: 特点:距离终端用户最近的设备 作用:终端接入、二层交换机 广播域:交换机连接的终端构成一个广播…...
Linux系统程序设计:从入门到高级Day01
知识点1 【系统调用】 系统调用的概述 系统调用:内核 提供给 用户 可以 操作内核 的一组函数接口 关系:用户 借助 系统调用 操作内核 进程的空间分为:内核空间 和 用户空间 用户一般都是在用户空间操作的,但是有的时候用户需要…...
openEuler24.03 LTS下安装HBase集群
前提条件 安装好Hadoop完全分布式集群,可参考:openEuler24.03 LTS下安装Hadoop3完全分布式 安装好ZooKeeper集群,可参考:openEuler24.03 LTS下安装ZooKeeper集群 HBase集群规划 node2node3node4MasterBackup MasterRegionServ…...
