mysql-笔记-控制语句/string方法
1 case
case value when [compare_value] then result [when[compare_value] then result....] [else result] end
case when [condition] then result [when [condition] then result...][else result] end
如果没有 条件是真,则 返回else 中的结果,如果没有else 则返回 null
2 if(expr1,expr2,expr3)
如果 expr1是真,且不是 0 或null,返回 expr2,否则返回 expr3
3 ifnull(expr1,expr2)
如果 expr1 不是null,返回 expr1,否则返回expr2
4 nullif(expr1,expr2) return null if expr1=expr2
如果 expr1=expr2 是真 则返回 null,否则返回 expr1 相当于:case when expr1=expr2 then null else expr1 end.
5 操作字符串位置的函数,第一个位置的索引为1
对于接受长度参数,如果 不是整数,由四舍五入到最近的整数
6 concat(str1,str2,...)如果有参数是null,则返回null
7 select 'my' 's' 'ql';可得到连接的字符串
8 concat_ws(separator,str1,str2,....) 使用分隔符连接字符串。如果分隔符是null 则返回null,不会跳过分隔符后的 空字符串,会跳过分隔符后的null值
9 elt(n,str1,str2,str3....) 返回第n个元素 从1开始。如果n小于1 或大于 参数数量 则返回null,是field()的补充
10 field(str,str1,str2,str3,...) 返回str在其后的参数中的位置,如果没有找到则返加0,如果str是null ,返回0
11 find_in_set(str,strlist) strlist 是由,分隔的字符串,返回 str 在strlist中的位置,SELECT FIND_IN_SET('b','a,b,c,d');
如果str不在strlist中或strlist是空的字符串,返回0,如果任何一个参数是null则返回null,
如果第一个参数包含逗号,则不能正常执行。
12 format(X,D[,locale]) 格式化数字X 取近似值到D个小数,返回值是字符串,如果D是0,返回值没有小数位。第3个可选参数可指定一个区域格式化小数位,默认为 'en_US'
format(123.55,1);
13 from_base64(str); 将用to_base64()编码的字符串,解码为字符串,如果参数不是有效的64位编码字符串,返回null
select from_base64(to_base64('abc'));
to_base64(str)将字符串参数转化为64位编码字符串
14 insert(str,pos,len,newstr);
返回从pos 位置开始长度为len 字符串替换为 newstr的新字符串。如果 pos没有在str中,则返回原字符串,如果len位置大于剩余字符串,则返回字符串中没有剩余字符串。insert('abcdef',2,4,'the')
15 instr(str,substr); 返回 substr在str中的第一个匹配位置
16 lcase(str) 同 lower()
lower()对二进制字符串无效 binary varbinary blob,转化为非二进制字符串
ucase(str) 同 upper() 返回所有字符的大写字母
set @str= bynary 'New'; select Lower(@str); select Lower(convert(@str using latin1));
17 left(str,len);从str返回最左侧的长度为len的字符串
right(str,len)从str返回最右侧长度为len的字符串
18 length(str):返回字符串的长度,按字节返回,汉字返回 2,char_length()返回1
octet_length(str)
19 locate(substr,str) 返回substr在str中的位置
locate(substr,str,pos) 返回substr在str中从pos开始的位置
postion(substr in str)
如果没有找到,返回0,如果substr 或 str中有一个null,则返回null
20 LPAD(str,len,padstr) 返回str使用padstr填充str左侧到len长度,如果 str长度大于len 则返回len个字符
RPAD(str,len,padstr)右侧填充padstr到str
21 LTRIM(str):去掉字符串的左侧空格
Rtrim(str):去掉字符串右侧空格
Trim([{both | leading | trailing}[remstr] from ] str)
Trim([remstr from ]str)
返回去掉了前缀或后缀的 remstr 的字符串str。如果没有指定 both/leading/trailing,默认为both.如 果没有指定 remstr ,移除空格
select trim(' bar '); select trim (leading 'x' from 'xxxbarxx');select trim(both 'x' from 'xxbarxx');select trim(trailing 'x' from 'xbarx');
22 MID(str,pos,len) 同substring(str,pos,len)
substr(str,pos),substr(str from pos);substr(str,pos,len),substr(str from pos for len)
substring(str,pos),substring(str from pos),substring(str,pos,len),substring(str from pos for len)
pos可以是负数,表示从字符串的结尾开始向后取值
23 oct(N)转化为8进制
24 quote(str) 对str 加单引号
25 repeat(str,count);返回str重复count次的字符,如果count小于1 则返回空字符串,如果参数有一个为null则返回null
26 replace(str,from_str,to_str); 返回字符串 str中所有的用to_str替换from_str 后的字符串 ,from_str 大小写敏感
27 reverse(str)反转字符串
28 space(N)返回包含N个空格的字符串
29 substring_index(str,delim,count) 返回字符串从str中取第count个分隔符前的字符串。如果count是负数,则从结尾向前取第count个分隔符之后的字符串
select substring_index('www.mysql.com','.',2)
select substring_index('www.mysql.com','.',-2)
30 expr like pat [escape 'escape_char'] :空格有效
select 'a'='a ','a' like 'a ';
可使用通配符:% 配置任何数量的字符,包括0个字符;_ 匹配确切的一个字符
使用escape子句-指定不用的转义字符:select 'david_' like 'david|_' escape '|';
escape 子句应该是空或是1个字符长,表达式在执行时必须是一个常量
mysql允许在数字表达式中 使用like select 10 like '1%'
在like 字符串中必须用双\ 表示一个\
expr not like pat [escape 'escape_char']
null not like 总是返回 null
31 strcmp(expr1,expr2) 如果字符串相同返回0,如果expr1 小于 expr2 返回-1;否则 返回 1
32 charset(binary 'a') collation(binary 'a' ) 返回 binary 类型
mysql-笔记-控制语句/string方法的更多相关文章
- MySQL事务控制语句(学习笔记)
MySQL事务控制语句(学习笔记) MySQL事务控制语句 在mysql命令行的默认下,事务都是自动提交的,sql语句提交后马上会执行commit操作.因此开启一个事务必须使用begi ...
- JavaScript学习笔记-用于模式匹配的String方法
用于模式匹配的String方法: String支持4种使用正则表达式的方法: seach()用于检索,参数是一个正则表达式,返回第一个与之匹配的子串的位置,找不到则返回-1,如 ...
- MYSQL进阶学习笔记三:MySQL流程控制语句!(视频序号:进阶_7-10)
知识点四:MySQL流程控制语句(7-10) 选择语句: (IF ELSE ELSE IF CASE 分支)IFNULL函数 IF语法: 语法规则: IF search_condition THEN ...
- 最全mysql笔记整理
mysql笔记整理 作者:python技术人 博客:https://www.cnblogs.com/lpdeboke Windows服务 -- 启动MySQL net start mysql -- 创 ...
- MySql数据库乱码解决方法
MySql数据库乱码解决方法 解决乱码问题一个原则:存取系统使用一致的编码规则. 多使用mysql的原生命令行,这样才能做更多的事情. 第一步: 确认应用系统需要使用的编码 java的默认编码是跟 ...
- MySQL笔记汇总
[目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日 ...
- 注册mySQL到JDBC驱动程序方法浅谈
一.注册方法(4种) 1)服务提供者框架: 符合JDBC 4.0规范的驱动程序包含了一个文件META-INF/services/java.sql.Driver,在这个文件中提供了JDBC驱动实现的类名 ...
- MySql笔记(一)
目录 MySql笔记(一) 每天给自己一个希望,努力做好自己,不为明天烦恼,不为昨天叹息.当梦想还在,告诉自己:努力,就总能遇见更好的自己! MySql笔记(一) 1.创建数据库以及删除 1.创建数据 ...
- C# | VS2019连接MySQL的三种方法以及使用MySQL数据库教程
本文将介绍3种添加MySQL引用的方法,以及连接MySQL和使用MySQL的教程 前篇:Visual Studio 2019连接MySQL数据库详细教程 \[QAQ \] 第一种方法 下载 Mysql ...
随机推荐
- java~modelMapper需要注意的几点
对于modelMapper来说,主要实现的是对象与对象的赋值,在这微服务里的数据传输对象中用的比较多,DTO这个对象是从业务模型抽象出来的,满足某一种业务,它与数据持久化模型没有关系,而如果我们把数据 ...
- 手撸GitLab CI(阉割版)
上一集我们说到如何从零开始搭建一个Vue-cli 3.0的项目,而这一集我们将说到如何手写一份阉割版的CI脚本. 首先说一下GitLab部署到服务器的操作,一般有两种,一种是规范化分离的,包含runn ...
- confd+etcd实现高可用自动发现
Confd是什么 Confd是一个轻量级的配置管理工具. 通过查询后端存储,结合配置模板引擎,保持本地配置最新,同时具备定期探测机制,配置变更自动reload. 对应的后端存储可以是etcd,redi ...
- .NET(C#、VB)移动开发——Smobiler平台控件介绍:TextTabBar控件
TextTabBar控件 一. 样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个TextTabBar控件到窗体界面上 ...
- WPF 添加 Resources Dictionary 资源 一般类库项目中无法添加资源文件(ResourceDictionary)
在文件夹或者项目右键-> Add(添加),会弹出可以快捷添加的资源,但是你会发现没有 ResourceDictionary资源可以选择. 解决此问题方法: 第一步:工程->右键->U ...
- 关于写作那些事之利用 js 统计各大博客阅读量
在日常文章数据统计的过程中,纯手动方式已经难以应付,于是乎,逐步开始了程序介入方式进行统计. 在上一节中,探索利用 csv 文件格式进行文章数据统计,本来以为能够应付一阵子,没想到仅仅一天我就放弃了. ...
- 用markdown写博客
目录 用markdown写博客 前言 标题 段落 引用区块 代码块 列表 分隔线 链接 强调.加粗.下划线.删除线 图片 智能链接 表格 转义序列 用markdown写博客 前言 博客园支持用mark ...
- 结对编程项目总结 by:陈宏伟&刘益
结对编程项目在欢快的国庆假期中也顺利结束了.从最初拿到结对编程项目的思考,再到一步一步实现,中间经历了一个漫长的过程.在我和队友的多次协商下,最终我们还是选择使用基于python来实现这一次结对编程项 ...
- django 问题综合
orm部分 本篇文章我会持续更新,把开发中遇到的一切orm相关的问题都放在这里 mysql索引报错 使用django 的orm,数据库用的mysql,在使用makemigrations和migrate ...
- eclipse 导入gradle引入多模块项目,引入eclipse后变成了好几个工程
1.eclipse 导入gradle 项目 ,选择项目文件夹. 2.导入完成后,文档结构变成 ,多个子项目并列了,而且互不依赖,没有层级结构了. 3.点击项目目录,右上角这个小箭头,选择projec ...