SQL 语句中 “意想不到” 的操作
文章目录
- 一、 sql 中字符串截取的函数
- 1、LEFT( createDate, 10 ) 从左边截取到第十个字符串
- 2、RIGHT( createDate, 8 ) 从右边截取到第八个字符串
- 3、SUBSTRING(name,5,3) 截取name这个字段 从第五个字符开始 只截取之后的3个字符
- 4、SUBSTRING(name,3) 截取name这个字段 从第三个字符开始,之后的所有个字符
- 5、SUBSTRING(name, -4) 截取name这个字段的第 4 个字符位置(倒数)开始取,直到结束
- 6、SUBSTRING(name, -4,2) 截取name这个字段的第 4 个字符位置(倒数)开始取,只截取之后的2个字符
- 7、substring_index('www.baidu.com', '.', 2) 截取第二个 '.' 之前的所有字符
- 8、substring_index('www.baidu.com', '.', -2) 截取第二个 '.' (倒数)之后的所有字符
- 9、SUBSTR(name, 1, CHAR_LENGTH(name)-3) 截取name字段,取除name字段后三位的所有字符
- 二、sql 语句中保留小数
- 三、sql语句中的 Null 函数
一、 sql 中字符串截取的函数
原文链接:
https://www.cnblogs.com/duanc/archive/2018/04/09/8760372.html
1、LEFT( createDate, 10 ) 从左边截取到第十个字符串
注意:起始位置的下标为 1 开始
如下图所示,有的时候我们想要的时间是年月日,而不需要时分秒。
SELECT LEFT
( createDate, 10 )
FROM
`joblevel`
结果如下:
2、RIGHT( createDate, 8 ) 从右边截取到第八个字符串
SELECT RIGHT
( createDate, 8 )
FROM
`joblevel`
3、SUBSTRING(name,5,3) 截取name这个字段 从第五个字符开始 只截取之后的3个字符
注意 : 含头不含尾
SELECT SUBSTRING('成都融资事业部',5,3)
结果:事业部
4、SUBSTRING(name,3) 截取name这个字段 从第三个字符开始,之后的所有个字符
SELECT SUBSTRING('成都融资事业部',3)
结果:融资事业部
5、SUBSTRING(name, -4) 截取name这个字段的第 4 个字符位置(倒数)开始取,直到结束
SELECT SUBSTRING('成都融资事业部',-4)
结果:资事业部
6、SUBSTRING(name, -4,2) 截取name这个字段的第 4 个字符位置(倒数)开始取,只截取之后的2个字符
SELECT SUBSTRING('成都融资事业部',-4,2)
结果:资事
注意:我们注意到在函数 substring(str,pos, len)中, pos 可以是负值,但 len 不能取负值。
7、substring_index(‘www.baidu.com’, ‘.’, 2) 截取第二个 ‘.’ 之前的所有字符
SELECT substring_index('www.baidu.com', '.', 2)
结果:www.baidu
8、substring_index(‘www.baidu.com’, ‘.’, -2) 截取第二个 ‘.’ (倒数)之后的所有字符
SELECT substring_index('www.baidu.com', '.', -2)
结果:baidu.com
9、SUBSTR(name, 1, CHAR_LENGTH(name)-3) 截取name字段,取除name字段后三位的所有字符
SELECT SUBSTR('成都融资事业部', 1, CHAR_LENGTH('成都融资事业部')-3)
结果:成都融资
二、sql 语句中保留小数
1、ROUND() 函数
查询前:
保留一位小数
SELECT ROUND(contractTerm,1) FROM `employee`
查询后:
三、sql语句中的 Null 函数
1、ISNULL() 函数
ISNULL
使用指定的替换值替换 NULL。
语法
ISNULL ( check_expression , replacement_value )
参数check_expression
将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
replacement_value
在check_expression
为 NULL时将返回的表达式。replacement_value
必须与 check_expresssion
具有相同的类型。
返回类型
返回与 check_expression
相同的类型。
注释
如果 check_expression
不为 NULL,那么返回该表达式的值;否则返回 replacement_value
原文:
https://www.cnblogs.com/xiaowie/p/8675092.html
2. IFNULL() 函数
博客内容:
https://www.runoob.com/mysql/mysql-func-ifnull.html
IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。
IFNULL() 函数语法格式为:
IFNULL(expression, alt_value)
如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值。
参数 | 描述 |
---|---|
expression | 必须,要测试的值 |
alt_value | 必须,expression 表达式为 NULL 时返回的值 |
MySQL中的ISNULL和IFNULL有区别:ISNULL() 只是用来判断是否为空,不能实现替换功能;而 IFNULL() 不仅可以用来判断是否为空,还可以实现替换功能。
推荐阅读
-
Shell脚本中执行sql语句操作mysql的5种方法
-
在asp.net中操作sql server数据库的一些小技巧
-
深入SQL SERVER合并相关操作Union,Except,Intersect的详解
-
SQL Server中的XML数据进行insert、update、delete操作实现代码
-
JSP中操作数据库的常用SQL标签用法总结
-
比较详细的完美解决安装sql2000时出现以前的某个程序安装已在安装计算机上创建挂起的文件操作。 原创
-
sql语句中如何将datetime格式的日期转换为yy-mm-dd格式
-
简单讲解sql语句中的group by的使用方法
-
SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)
-
SQL语句中将字符串转成临时表的方法