注:sql的移植性比较强,函数的移植性不强,一般为数据库软件特有,例如mysql有mysql的函数,oracle有oracle的函数。

1、concat连接字符串:


从上图中可以看出,直接使用select concat就可以连接任意两个以上的字符串,同时也可以用来连接查询结果,一般情况中也是会用来连接查询结果。需要注意的是,如果连接的内容有null存在的话,那么结果就只会是null。

2、concat_ws使用分隔符连接字符串:


在上边的语法中,第一个字符传代表指定的连接格式,其他的代表需要连接的字符串内容。与concat还有所不同的是,这里如果出现null,null会被忽略掉。

3、strcmp比较字符串的大小:


如上图可以看到,当第一个字符串小于第二个时返回-1,反之返回1,如果相等则返回0.

4、length和char_length来获取字符串的长度:


从图中可以看出length计算的是字节数长度,而char_length计算的是字符数长度。

5、使用upper或ucase和lower或lcase来实现对英文字符的大小写转换:


6、find_in_set查找字符串的位置:


如图可以看到,需要查找的字符串必须满足一定的格式,即需要逗号隔开,因此这里不能理解为子字符串。

7、使用field查找字符串的位置:


注意这里和上一个的区别,一个是在同一个字符串中用逗号隔开,而这里是几个字符串。

8、locate、position和instr查找字符串的位置:


这里三个的作用基本一样,只是使用的语法略有不同,position要和in结合使用,locate和instr的参数位置相反,都是返回一个字符串中子字符串的位置。

9、使用elt返回指定位置的字符串,语法格式和field类似:


10、从现有字符串中截取子字符串:


其中left指从最左开始截取指定长度的字符串,right是从右开始;substring和mid的第一个数字参数指开始截取的位置,第二个数字参数指截取的长度。

11、去除字符串的空格:


ltrim去掉左边的空格,rtrim去掉右边的空格,trim去掉前后的空格,只是这里都不太好看出来。

12、insert字符串替换:


如图可以看出,第一个参数为原始字符串,第二个为需要替换的其实位置,第三个表示需要替换的长度,第四个表示用来替换原字符串的新字符串;需要注意的是,当指定的需要替换长度超过剩余长度时会替换所有,当指定的位置刚好是比字符串长度大一时,会把新字符串加到末尾,当指定的位置比字符串长度大2以上时,原字符串不变。

13、replace替换字符串:


与上边不同的是,这里不是指定位置和长度,而是直接指定一个字符串,如果这个字符串不存在原字符串中,则替换失败。

Mysql学习总结(27)——Mysql数据库字符串函数的更多相关文章

  1. Mysql学习笔记(四)字符串函数

    PS:终于看完了字符串函数,心都快碎了...涉及的函数真是太多了...感觉这里的字符串函数和JAVA里的基本都差不多了...基本上算是掌握了,但是想全记住那是不太可能的... 学习内容: 字符串函数的 ...

  2. MySQL学习笔记_7_MySQL常用内置函数

    MySQL常用内置函数 说明: 1)可以用在SELECT/UPDATE/DELETE中,及where,orderby,having中 2)在函数里将字段名作为参数,变量的值就是字段所对应的每一行的值. ...

  3. mySQL学习入门教程——4.内置函数

    四.内置函数: 包括了字符串函数.数值函数.日期函数.流程控制函数.其他函数(获取数据库信息)... 一.字符串函数[比较常用,需要掌握]1. concat(s1,s2,...,sn)   #把传入的 ...

  4. 吴裕雄--天生自然MySQL学习笔记:MySQL 选择数据库

    连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库. 从命令提示窗口中选择MySQL数据库 在 mysql> 提示窗口中可以很简单的选择特定的数据库.可以使 ...

  5. 吴裕雄--天生自然MySQL学习笔记:MySQL 创建数据库

    在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 RUNOOB: [root@ho ...

  6. MySQL学习05(MySQL函数)

    MySQL函数 常用函数 官方文档 : https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html 数据函数 SELECT ABS ...

  7. Mysql查询用逗号分隔的字段-字符串函数FIND_IN_SET(),以及此函数与in()函数的区别

    查询用逗号分隔的字段,可以用字符串函数FIND_IN_SET(): 查询数据库表中某个字段(值分行显示),可以用函数in(). 今天工作中遇到一个问题,就是用FIND_IN_SET()函数解决的. 第 ...

  8. Mysql学习笔记整理之数据库优化

    数据库性能瓶颈的原因 数据库连接数 数据量大 硬件资源限制 数据性能优化方案 sql优化       2.缓存        3.建好索引    4.读写分离        5. 分库分表 慢日志查  ...

  9. mysql学习3:mysql之my.cnf详解

    mysql之my.cnf详解 本文转自:https://www.cnblogs.com/panwenbin-logs/p/8360703.html 以下是 my.cnf 配置文件参数解释: #*** ...

  10. 吴裕雄--天生自然MySQL学习笔记:MySQL 运算符

    要介绍 MySQL 的运算符及运算符的优先级. MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 算术运算符 MySQL 支持的算术运算符包括: 在除法运算和模运算中, ...

随机推荐

  1. WebAssembly学习(二):Windows10下WebAssembly C/C++编译环境的搭建与Hello World尝试

    首先,不论是在Windows.Linux还是Mac上,Webassembly的编译都是主要依赖于Emscripten SDK这个工具的.但是,在这里必须要吐槽一下,不论是WebAssembly官网.W ...

  2. ASP.NET Menu控件点击区域太小解决方法

    ASP.NET自带的Menu控件点击区域比较小,基本就是文本范围和图片范围,在区域外虽然选择的项有颜色变化,但是这个时候点击是没有用的,体验不是很好 检查前台生成的HTML,是用td嵌套a标签,a标签 ...

  3. [luogu2501 HAOI2006] 数字序列 (递推LIS)

    题目描述 现在我们有一个长度为n的整数序列A.但是它太不好看了,于是我们希望把它变成一个单调严格上升的序列.但是不希望改变过多的数,也不希望改变的幅度太大. 输入输出格式 输入格式: 第一行包含一个数 ...

  4. 【codeforces 757E】Bash Plays with Functions

    [题目链接]:http://codeforces.com/problemset/problem/757/E [题意] 给你q个询问; 每个询问包含r和n; 让你输出f[r][n]; 这里f[0][n] ...

  5. java字符文件的读写

    1.java文件读写,首先我们需要导入相应的包:java.io.*; 2.代码如下: package Demo1; import java.io.*; public class FileWirteTe ...

  6. 改动购物项图书数量的Ajax处理

    一.cart.jsp页面 <%@ page language="java" contentType="text/html; charset=utf-8" ...

  7. 应用Spring和Hibernate(C3P0数据池)写数据库交互项目

    一.xml的配置文件(application.xml) <?xml version="1.0" encoding="UTF-8"?> <bea ...

  8. Thrift源代码分析(七)-- TServerserver分析

    Thrift採用了TServer来作为server的抽象,提供了多种类型的server实现.用TServerTransport作为server的Acceptor抽象,来监听端口.创建clientSoc ...

  9. 实战c++中的vector系列--再谈vector的insert()方法(都是make_move_iterator惹的祸)

    之前说过了关于vector的insert()方法,把vector B的元素插入到vector A中.vector A中的结果我们可想而知,可是vector B中的元素还会怎样? 看看之前写过的程序: ...

  10. CxImage 简单配置与使用

    CxImage 简单配置与使用 如果本篇文章还不能解决你在生成解决方案以及便宜过程中的问题 请参阅: http://blog.csdn.net/afterwards_/article/details/ ...