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. ETL工具-nifi干货系列 第十五讲 nifi处理器ConsumeKafka实战教程

    1.上一节课我们学习了处理器PushKafka,通过该处理器往kafka中间件写数据,今天我们一起学习处理器ConsumeKafka,此处理器从kafka读取数据进行后续处理,如下图所示: 本次示例比 ...

  2. jenkins结合远程仓库

    既然是持续集成,对代码进行构建,我们得获取代码仓库的内容,这里选择我们搭建的gitlab服务器 1.开发工程师的机器 1. 在window上生成ssh-key $ ssh-keygen.exe -t ...

  3. github fork后对上游仓库的做rebase

    想对上游仓库做更新同步 先添加上游仓库 git remote add upstream https://github.com/原始作者/原始仓库.git 其中这里的upstream 是一个命名,和 o ...

  4. ClickHouse的物化视图及MySQL表引擎

    MySQL表引擎可以与MySQL数据库中的数据表简历映射,并通过SQL向其发起远程查询. MySQL表引擎可以与物化视图结合,来同步更新MySQL数据库中的数据. 语法: CREATE TABLE [ ...

  5. 《Programming from the Ground Up》阅读笔记:p1-p18

    <Programming from the Ground Up>学习第1天,p1-18总结,总计18页. 一.技术总结 1.fetch-execute cycle p9, The CPU ...

  6. 使用explain优化慢查询的业务场景分析

    问:你最害怕的事情是什么? 答:搓澡 问:为什么? 答:因为有些人一旦错过,就不在了 Explain 这个词在不同的上下文中有不同的含义.在数据库查询优化的上下文中,"EXPLAIN&quo ...

  7. 嵌入式HLS 案例开发步骤分享——基于Zynq-7010/20工业开发板(1)

    目 录 前 言 3 1 HLS 开发流程说明 5 1.1 HLS 工程导入 5 1.2 编译与仿真 6 1.3 综合 8 1.4 IP 核封装 10 1.5 IP 核测试 14 前 言 本文主要介绍 ...

  8. 【ClickHouse】1:clickhouse安装 (CentOS7)

    一:安装clickhouse 官网地址:https://clickhouse.tech/#quick-start 按照官网提供的方法快速安装:(依次执行) sudo yum install yum-u ...

  9. 谈谈你对 Vue 生命周期的理解?

    生命周期是什么? Vue 实例有一个完整的生命周期,也就是从 开始创建.初始化数据.编译模版.挂载 Dom -> 渲染.更新 -> 渲染.卸载等一系列过程,我们称这是 Vue 的生命周期. ...

  10. [oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果

    字符显示器 回忆上次内容 简体和繁体的汉字 字符数量都超级大 感谢王选和陈堃銶等前辈发明了激光照排技术 中文排版从此使用上了gb2312编码   ​   添加图片注释,不超过 140 字(可选)   ...