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函数 单行函数其一 字符函数的更多相关文章

  1. mysql中sql语句中常见的group_concat()函数意思以及用法,oracle中与其一样的功能函数是wmsys.wm_concat()

    1.group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一 ...

  2. 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 ...

  3. oracle 内置函数(二)字符函数

    主要函数: 大小写转换函数 获取子字符串函数(字符串截取) 获取字符串长度函数 字符串连接函数 去除子字符串函数 字符替换函数 字符串出现次数 字符串按照特定符号拆分多行 一.大小写转换 1.uppe ...

  4. 5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)

     1  多行函数(理解:有多个输入,但仅仅输出1个结果) SQL>select count(*) from emp; COUNT(*) ------------- 14 B 字符函数Lowe ...

  5. MySql 插入10位以上长度的字符报错or截断

    当a字段为int类型时: 如果用MyBatis向MySql插入10个字符以上长度的字符串,则会报错. 如果直接在MySql中用sql语句插入10个字符以上长度的字符串,则会变成最大的int类型数值:2 ...

  6. MySQL 进阶4 SQL常见函数: 字符函数/数学函数/日期函数/流程控制函数(if/case)

    # 进阶4 SQL常见函数 分类: 1/单行函数: 字符函数: concat(),length(),ifnull(__,default) ,instr(), trim(),upper(),lower( ...

  7. mysql的sql分页函数limit使用 (转)

    http://www.cnblogs.com/beijingstruggle/p/5631603.html mysql的sql分页函数limit使用 My sql数据库最简单,是利用mysql的LIM ...

  8. (2.16)Mysql之SQL基础——函数

    (2.16)Mysql之SQL基础——函数 关键词:mysql函数,mysql自定义函数,mysql聚合函数,mysql字符串函数,mysql数值函数 1.自定义函数 -- (1)一般形式 creat ...

  9. Mysql与Sql server,Sum函数跟Count函数

    两者均是统计类函数,都不计算NULL字段!!! 单纯计算行数的话,count的效率比sum的效率高 MySQL SUM()函数介绍 SUM()函数用于计算一组值或表达式的总和,SUM()函数的语法如下 ...

  10. (2.17)Mysql之SQL基础——日期函数

    关键词:mysql时间函数,mysql日期函数 [1]curdate():返回当前日期(2019-03-06),curdate()+0 返回(20190306) [2]curtime():返回当前时间 ...

随机推荐

  1. 史上最强 AI 翻译诞生了!拳打谷歌,脚踢 DeepL

    CoT 推理范式 默认情况下,大语言模型通常是直接给出问题的最终答案,中间推理过程是隐含的.不透明的,无法发挥出大模型最极致的理解能力.如果你用它来充当翻译,可能效果和传统的机器翻译也差不了太多. 如 ...

  2. Kali Linux 终端字体配色

    在用root用户登录Kali Liunx时,会发现终端的字体无配色,非常难看,以下这幅图便是kali用户和root用户的区别,看着真难受. echo $PS1,这便是区别所在. 那我们怎么让root用 ...

  3. ABC317题解报告

    我直接从第三题开始讲了. T3 把数组 \(A\) 从大到小排序. 然后从前往后把前 \(q\) 个数加起来,然后判断这 \(q\) 个数的和与 \(d\) 的大小关系,如果大了就变成 \(d\). ...

  4. JavaScript模块化笔记

    JavaScript模块化笔记 一个模块就是一堆被封装到一个文件当中的代码,并使用export暴露部分代码给其他的文件.模块专注于一小部分功能并与应用的其他部分松耦合,这是因为模块间没有全局变量或共享 ...

  5. MySQL入门到实战详细教程

    MySQL介绍 MySQL是一个开源的关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品,它广泛应用于各种Web应用程序和网站,MySQL使用结构化查 ...

  6. Azure Storage Blob 启用sftp协议支持

    背景 我这边需要给前端同学一个上传静态文件的地方,比如js.css.图片.icons等等,前端上传后直接在项目中:我这边用的是Azure Storage blob:为了单独分配权限,我这边打算启用SF ...

  7. 准入控制器(Admission Controller):ResourceQuota,ImagePolicyWebhook

    目录 一.系统环境 二.前言 三.准入控制器简介 四.为什么需要准入控制器 五.启用/禁用ResourceQuota资源配额 5.1 查看默认启用/禁用的准入控制器插件 5.2 ResourceQuo ...

  8. php不使用Office包实现上万条数据导出表格

    经过上传客户要求主副表迁出,又提出可以将某张表的数据导出excel,听着很简单,实际看数据表发现上万条数据,并且需要关联表查询相关字段,导出的表格才可以被客户看明白. 要是使用office包目前后台内 ...

  9. 慕课DJANGO配置

    重写内置的错误处理视图 在项目urls.py中添加配置 handler500 = "app01.views.page_500" handler404 = "app01.v ...

  10. 实时系统Preempt RT与Xenomai之争!谁更主流,谁更实时?

    选择争论一直存在 大家知道EtherCAT是实时现场总线技术,当我们开发一款支持EtherCAT总线的控制器时,实时操作系统的选择不仅对于产品本身是最重要的一部分,而且对产品研发的整个过程也影响深远. ...