MySQL_函数(待续)
1.REPLACE(str,from_str,to_str)
定义:REPLACE(str,from_str,to_str)
解释:返回值是把字符串str 中的子串from_str 全部替换为to_str 后得到的一个字符串。如果to_str 是空串,则效果相当于删除所有的from_str。如果from_str 是空串,REPLACE()
将不对字符串str 做任何改变。如果有参数为NULL,则返回NULL。
示例:REPLACE('abracadabra','a','oh') → 'ohbrohcohdohbroh'
REPLACE('abracadabra','a','') → 'brcdbr'
REPLACE('abracadabra','','x') → 'abracadabra'
UPDATE sp_employeezzvalidate SET `name` = REPLACE(name,' ',''); //质监项目中应用,将导入的成绩表名字字段中的空格去掉
2.IFNULL(expr1,expr2)
定义:IFNULL(expr1,expr2)
解释:若表达式expr1 的值为NULL,则返回expr2;否则,返回expr1。IFNULL()函数将根据自己调用时的上下文决定是返回数字,还是返回字符串。
示例:IFNULL(NULL,'null') → 'null'
IFNULL('not null','null') → 'not null'
3.NULLIF(expr1,expr2)
定义:NULLIF(expr1,expr2)
解释:如果两个表达式的值不相同,返回expr1;若相同,则返回NULL。
示例:NULLIF(3,4) → 3
NULLIF(3,3) → NULL
4.CONCAT(str1,str2,...)
定义:CONCAT(str1,str2,...)
解释:返回一个由自身所有参数连接而成的字符串;只要有一个参数为NULL,就返回NULL。只要有一个参数是二进制串,结果就是一个二进制串;如果所有参数都是非二进制串,结果就
是一个非二进制串。数字参数都可以转换为字符串。自MySQL 5.5.3 起,这种转换得到的是非二进制串;那以前的版本,转换结果为二进制串。
示例:CONCAT('abc','def') → 'abcdef'
CONCAT('abc') → 'abc'
CONCAT('abc',NULL) → NULL
CONCAT('Hello',', ','goodbye') → 'Hello, goodbye'
5.CASE [expr] WHEN expr1 THEN result1 ... [ELSE default] END
定义:CASE [expr] WHEN expr1 THEN result1 ... [ELSE default] END
解释:当第一个表达式expr 存在时,CASE 就会把它与每一个WHEN 后面的表达式进行比较。对于第一个相等的表达式,与之相应的那个THEN 值会成为计算结果。这特别适用于需要把一 个给定值与一组值进行比较的情况。
CASE 0 WHEN 1 THEN 'T' WHEN 0 THEN 'F' END → 'F'
CASE 'F' WHEN 'T' THEN 1 WHEN 'F' THEN 0 END → 0
当第一个表达式expr 不存在时,CASE 将计算WHEN 表达式。对于第一个结果为真(非零,非NULL)的表达式,与之相应的THEN 值会成为计算结果。这特别适用于需要判断“不等
于”关系或者需要对任意条件进行测试的场合。
CASE WHEN 1=0 THEN 'absurd' WHEN 1=1 THEN 'obvious' END → 'obvious'
select a.PRO_NAME '申报工程名称',
a.DESIGN_INVEST_COST '投资额(万元)',
case when b.TelecomType = 'YD' THEN '移动'
when b.TelecomType = 'TT' THEN '铁塔'
when b.TelecomType = 'DX' THEN '电信'
ELSE '联通' END '通信类型'
from zj_report_higher a,sp_enterprise b where a.CREATE_BY_CO = b.ID AND a.PROVINCE = 22; //质监项目中应用,将导入的成绩表名字字段中的空格去掉
6.IS NULL&IS NOT NULL
定义:expr IS NULL
expr IS NOT NULL
示例:select * from sp_employee; → 328389条记录
select * from sp_employee where GYSExamOkCode is null; → 286042条记录
select * from sp_employee where GYSExamOkCode is not null; → 42347条记录
7.FLOOR(x)
定义:FLOOR(x)
解释:返回不大于x 的最大整数。如果参数x 是某种精确数值类型的,返回值也将有着同样的类型;否则,返回值将有着某种浮点(近似)数值类型,即使此函数的返回值没有小数部分。
示例:FLOOR(3.8) → 3
FLOOR(-3.8) → -4
8.CEILING(x)
定义:CEILING(x)||CEIL(x)
解释:返回不小于x 的最小整数。如果参数x 是某种精确数值类型的,返回值也将有着同样的类型。否则,返回值将有着某种浮点(近似)数值类型。即使此函数的返回值没有小数部分,
也是如此。
示例:CEILING(3.8) → 4
CEILING(-3.8) → -3
9.ROUND(x)&ROUND(x,d)
定义:ROUND(x)&ROUND(x,d)
解释:ROUND()函数将返回x 的值,但只保留到小数点后面的d 位数字。如果d 等于零或没有给出,结果将没有小数点或小数部分。此函数的返回值和它的第一个参数有着同样的数值类 型,所以如果该参数是一个整数的话,返回结果将没有任何小数部分。以字符串形式给出的数值将先转换为双精度浮点数,再进行舍入处理。
示例:ROUND(15.3) → 15
ROUND(15.5) → 16
ROUND(-33.27834,2) → -33.28
ROUND(1,4) → 1
ROUND('1',4) → 1.0000
解释:如果d 是一个负数,那么ROUND()函数会去掉小数部分,把从小数点开始往左算起的ABS(d)位数字设置为零。
示例:ROUND(123456,-2) → 123500
注意:对于精确值数值,大于或等于0.5 的小数部分将按远离零的方向舍入。小于0.5 的小数部分将按接近零的方向舍入。例如,1.5 和−1.5 将被分别舍入为2 和−2,而1.49 和−1.49 将被舍
入为1 和−1。
ROUND(1.5) →2
ROUND(1.49) →1
10.TRUNCATE(x,d)
定义:TRUNCATE(x,d)
解释:返回小数部分被截短为d 位数字的x 值。如果d 等于0,返回值里将不包含小数点和小数部分。如果d 大于x 的小数位数,x 的小数部分将用0 来补足到指定的位数。
示例:TRUNCATE(1.23,1) → 1.2
TRUNCATE(1.23,0) → 1
TRUNCATE(1.23,4) → 1.2300
解释:如果d 是负数,TRUNCATE()会去掉小数部分,把小数点左边的ABS(d)个数变为0。
示例:TRUNCATE(123456.789,-3) → 123000
11.LENGTH(str)
定义:LENGTH(str)
解释:返回字符串str 的长度,以字节为单位。多字节字符长度大于1。如果要确定字符长度,可以使用CHAR_LENGTH()。
示例:LENGTH('abc') → 3
LENGTH(CONVERT('abc' USING ucs2)) → 6
LENGTH('') → 0
LENGTH(NULL) → NULL
12.LOWER(str)
定义:LOWER(str)
解释:返回把字符串str 里的字符全都转换为小写字母后得到的一个字符串;如果str 为NULL,则返回NULL。
示例:LOWER('New York, NY') → 'new york, ny'
LOWER(NULL) → NULL
13.UPPER(str)
定义:UPPER(str)
解释:返回把字符串str 里的字符全都转换为大写字母后得到的一个字符串;如果str 为NULL,则返回NULL。
示例:UPPER('New York, NY') → 'NEW YORK, NY'
UPPER(NULL) → NULL
MySQL_函数(待续)的更多相关文章
- mysql_函数
MySQL 函数 (http://www.cnblogs.com/chenpi/p/5137178.html) 1.什么是函数 mysql中的函数与存储过程类似,都是一组SQL集: 2.与存储过程的区 ...
- [独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- PHP代码优化
1 代码优化 1 尽量静态化 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍. 当然了,这个测试方法需要在十万级以上次执行,效果才明显. 其实静态方法和 ...
- IIS7 IIS8 中多个版本php共存的方法
原文地址: https://blog.cozof.com/pieces/54.shtml 最近又重回.net,用回IIS.然后用到某个php开源项目,需要低版本的php,之前装的一个php5.5不能用 ...
- php注意事项
1. 不要使用mysql_函数 这一天终于来了,从此你不仅仅"不应该"使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数 ...
- matlab中textread
今天打算跑下程序,突然发现,真的很烂,不会读入数据,简单的Iris.txt一上午都没读进去,在此对matlab中的textread函数做下总结,textscan函数待续. 本文主要内容引自http:/ ...
- 10件在PHP 7中不要做的事情
刚刚在园子里看到一篇特别好的文章,就拿到我的园子里分享了. 1. 不要使用mysql_函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是 ...
- 10 件在 PHP 7 中不要做的事情
1. 不要使用mysql_函数 这一天终于来了,从此你不仅仅"不应该"使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数 ...
- 节点插入--对比jQuery和JavaScript方法(一)
二.插入元素: 1 <div> 2 <p>面朝大海,春暖花开</p> 3 </div> (一).jQuery方法 1.在节点内部插入: 方法 说明 ap ...
随机推荐
- BZOJ3196二逼平衡树——线段树套平衡树(treap)
此为平衡树系列最后一道:二逼平衡树您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: 1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询 ...
- [LightOJ1038] Race to 1 Again
传送门:>出错啦< 题意:给你一个整数n,每一次可以随机选择一个n的因子x(包括1和它自己),让n除以x——不停重复此过程,直到n==1. 问n被除到1的期望次数. 解题思路: 今天刚学的 ...
- Quartus prime16.0 与modelsim ae 联调
前言 quartus和modelsim联调对仿真还是很方便的,当然最好是quartus干综合到烧录的活,modelsim单独仿真.而且ae版的性能比se版差. 流程: 1.配置modelsim ae路 ...
- 【XSY1528】azelso 概率&期望DP
题目大意 有一条很长很长的路(出题人的套路),你在\(0\)位置,你要去\(h\)位置. 路上有一些不同的位置上有敌人,你要和他战斗,你有\(p\)的概率赢.若你赢,则你可以走过去,否则你会死.还 ...
- MT【302】利用值域宽度求范围
已知$f(x)=\ln x+ax+b (a>0)$在区间$[t,t+2],(t>0)$上的最大值为$M_t(a,b)$.若$\{b|M_t(a,b)\ge\ln2 +a\}=R$,则实数$ ...
- P3613 睡觉困难综合征(LCT + 位运算)
题意 NOI2014 起床困难综合症 放在树上,加上单点修改与链上查询. 题解 类似于原题,我们只需要求出 \(0\) 和 \(2^{k - 1} - 1\) 走过这条链会变成什么值,就能确定每一位为 ...
- 【WC2018】州区划分(FWT,动态规划)
[WC2018]州区划分(FWT,动态规划) 题面 UOJ 洛谷 题解 首先有一个暴力做法(就有\(50\)分了) 先\(O(2^nn^2)\)预处理出每个子集是否合法,然后设\(f[S]\)表示当前 ...
- NOIp2018 复习笔记
其实也没什么用啦,只是来占个坑 OI知识 3367 [模板]并查集 就这么做啊 没什么其他的 就是可以做tarjan LCA和Kruskal的操作 //关键函数 int getfa(int t) { ...
- django pymysql
此处django版本为1.11.13 设置setting.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NA ...
- Hyper-V
docker与vm同时安装,会导致虚拟机无法启动及网络不通等问题,解决方法分为两步. 1.在网络连接中禁用vEthernet连接. 2.控制面板>程序>程序和功能中 >启用或关闭wi ...