【DataBase】MySQL 07 SQL函数 单行函数其一 字符函数
SQL函数的概念
-- SQL函数
-- 概念:类似Java的方法,将已经定义好的不再改变的逻辑语句封装在函数体内,对外提供方法的标识
-- 隐藏了实现细节,提高功能的可重用
-- SELECT 函数名称(实参列表) [FROM 表名];
-- 分类: 单行函数,分组函数
-- 字符函数,数字函数,日期函数,其他函数
统计字符的字节个数
注意是字节个数
# LENGTH() 计数参数字符串的字节个数
SELECT LENGTH('杰哥不要啊'); -- 中文按 [UTF-8]3个字节的组合,[GBK]2个字节组合 -- 查看当前表的字符集
SHOW VARIABLES LIKE '%char%';
拼接参数列表中的字符
# CONCAT() 拼接参数字符
SELECT CONCAT(`first_name`," ",`last_name`) FROM `employees`;
转换全大写,全小写
# UPPER(),LOWER() 将参数字符转全大小写
-- 将姓大写,名小写,然后拼接
SELECT CONCAT(UPPER(`last_name`)," ",LOWER(`first_name`)) FROM `employees`;
字符片段
# SUBSTR(),SUBSTRING() -- 从索引开始截取字符串,起始位置是从参数开始,包括参数
-- 1个参数就表示截取的起始位置,直接到结束位置
SELECT SUBSTR("大苏打的发射点",5) AS sub1; -- MySQL的字符索引是从1开始的
-- 2个参数就表示截取的起始位置,直到实参的结束位置 [字符长度]
SELECT SUBSTR("大苏打的发射点",1,3) AS sub2; 开始位置到结束位置,包括结束位置的字符 -- 案例,姓名中首字符大写,其他字符小写,然后用_拼接,显示出来
SELECT CONCAT(
UPPER(SUBSTR(`last_name`,1,1)),
LOWER(SUBSTR(`last_name`,2))
) AS NAME
FROM `employees`;
获取 参数字符2 在 参数字符1 首次出现的位置
# INSTR(str1,str2) 查找字符串2在字符串1的首次出现的位置,如果未找到返回0
SELECT INSTR("今天的风景真好啊",'好');
清除两边的空格,和指定字符的两边清除
# TRIM() 消除两边空格 ,LTRIM() RTRIM() 左右空格消除
SELECT " ABC ", TRIM(" ABC "); # TRIM(str1 FROM str2) 消除str2左右两边的str1
SELECT TRIM("s" from "ssssssssAsBCsDssssssssssssssss");
SELECT TRIM("ss" FROM "ssssssssAsBCsDssssssssssssssss"); -- 注意区别
限定字符长度并填充
# LPAD(str1,length,str2) 规定字符长度为length,如果str1小于实参的长度,则让str2填充剩余字符位[左填充]
SELECT LPAD('HAHA',12,'*') AS LPAD;
# RPAD(str1,length,str2) 规定字符长度为length,如果str1小于实参的长度,则让str2填充剩余字符位[右填充]
SELECT RPAD('HAHA',12,'*') AS LPAD;
替换字符串
# REPLACE(str1,str2,str3) 在str1中,使用str3替换str2
SELECT REPLACE('啊实打实大苏打实打实的','实','NO');
【DataBase】MySQL 07 SQL函数 单行函数其一 字符函数的更多相关文章
- mysql中sql语句中常见的group_concat()函数意思以及用法,oracle中与其一样的功能函数是wmsys.wm_concat()
1.group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一 ...
- Importing/Indexing database (MySQL or SQL Server) in Solr using Data Import Handler--转载
原文地址:https://gist.github.com/maxivak/3e3ee1fca32f3949f052 Install Solr download and install Solr fro ...
- oracle 内置函数(二)字符函数
主要函数: 大小写转换函数 获取子字符串函数(字符串截取) 获取字符串长度函数 字符串连接函数 去除子字符串函数 字符替换函数 字符串出现次数 字符串按照特定符号拆分多行 一.大小写转换 1.uppe ...
- 5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)
1 多行函数(理解:有多个输入,但仅仅输出1个结果) SQL>select count(*) from emp; COUNT(*) ------------- 14 B 字符函数Lowe ...
- MySql 插入10位以上长度的字符报错or截断
当a字段为int类型时: 如果用MyBatis向MySql插入10个字符以上长度的字符串,则会报错. 如果直接在MySql中用sql语句插入10个字符以上长度的字符串,则会变成最大的int类型数值:2 ...
- MySQL 进阶4 SQL常见函数: 字符函数/数学函数/日期函数/流程控制函数(if/case)
# 进阶4 SQL常见函数 分类: 1/单行函数: 字符函数: concat(),length(),ifnull(__,default) ,instr(), trim(),upper(),lower( ...
- mysql的sql分页函数limit使用 (转)
http://www.cnblogs.com/beijingstruggle/p/5631603.html mysql的sql分页函数limit使用 My sql数据库最简单,是利用mysql的LIM ...
- (2.16)Mysql之SQL基础——函数
(2.16)Mysql之SQL基础——函数 关键词:mysql函数,mysql自定义函数,mysql聚合函数,mysql字符串函数,mysql数值函数 1.自定义函数 -- (1)一般形式 creat ...
- Mysql与Sql server,Sum函数跟Count函数
两者均是统计类函数,都不计算NULL字段!!! 单纯计算行数的话,count的效率比sum的效率高 MySQL SUM()函数介绍 SUM()函数用于计算一组值或表达式的总和,SUM()函数的语法如下 ...
- (2.17)Mysql之SQL基础——日期函数
关键词:mysql时间函数,mysql日期函数 [1]curdate():返回当前日期(2019-03-06),curdate()+0 返回(20190306) [2]curtime():返回当前时间 ...
随机推荐
- 史上最强 AI 翻译诞生了!拳打谷歌,脚踢 DeepL
CoT 推理范式 默认情况下,大语言模型通常是直接给出问题的最终答案,中间推理过程是隐含的.不透明的,无法发挥出大模型最极致的理解能力.如果你用它来充当翻译,可能效果和传统的机器翻译也差不了太多. 如 ...
- Kali Linux 终端字体配色
在用root用户登录Kali Liunx时,会发现终端的字体无配色,非常难看,以下这幅图便是kali用户和root用户的区别,看着真难受. echo $PS1,这便是区别所在. 那我们怎么让root用 ...
- ABC317题解报告
我直接从第三题开始讲了. T3 把数组 \(A\) 从大到小排序. 然后从前往后把前 \(q\) 个数加起来,然后判断这 \(q\) 个数的和与 \(d\) 的大小关系,如果大了就变成 \(d\). ...
- JavaScript模块化笔记
JavaScript模块化笔记 一个模块就是一堆被封装到一个文件当中的代码,并使用export暴露部分代码给其他的文件.模块专注于一小部分功能并与应用的其他部分松耦合,这是因为模块间没有全局变量或共享 ...
- MySQL入门到实战详细教程
MySQL介绍 MySQL是一个开源的关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品,它广泛应用于各种Web应用程序和网站,MySQL使用结构化查 ...
- Azure Storage Blob 启用sftp协议支持
背景 我这边需要给前端同学一个上传静态文件的地方,比如js.css.图片.icons等等,前端上传后直接在项目中:我这边用的是Azure Storage blob:为了单独分配权限,我这边打算启用SF ...
- 准入控制器(Admission Controller):ResourceQuota,ImagePolicyWebhook
目录 一.系统环境 二.前言 三.准入控制器简介 四.为什么需要准入控制器 五.启用/禁用ResourceQuota资源配额 5.1 查看默认启用/禁用的准入控制器插件 5.2 ResourceQuo ...
- php不使用Office包实现上万条数据导出表格
经过上传客户要求主副表迁出,又提出可以将某张表的数据导出excel,听着很简单,实际看数据表发现上万条数据,并且需要关联表查询相关字段,导出的表格才可以被客户看明白. 要是使用office包目前后台内 ...
- 慕课DJANGO配置
重写内置的错误处理视图 在项目urls.py中添加配置 handler500 = "app01.views.page_500" handler404 = "app01.v ...
- 实时系统Preempt RT与Xenomai之争!谁更主流,谁更实时?
选择争论一直存在 大家知道EtherCAT是实时现场总线技术,当我们开发一款支持EtherCAT总线的控制器时,实时操作系统的选择不仅对于产品本身是最重要的一部分,而且对产品研发的整个过程也影响深远. ...