oracle函数mysql替代方案
=====1.日期相关===
//获取当前日期在本周的周一
select subdate(now(),date_format(now(),'%w')-1);
//获取当前日期在本周的周日
select subdate(now(),date_format(now(),'%w')-7);
//获取月的第一天
select concat(date_format(now(), '%y-%m'),'-01');
//字符串转日期
select str_to_date('2008-4-2 15:3:28','%Y-%m-%d %H:%i:%s');
//日期转字符串
select date_format(now(),'%y-%m-%d');
=====2.分析函数====
1.lag over取当前列的上一列数据信息,类似于lag over (类似行转列的形式实现)
select max(if(rank=1,username,0)) ,max(if(rank=2,username,0)) from (
select id ,username,@rank:=@rank+1 as rank
from users,(select @rank:=0) q
order by username
) rs limit 1
2.sum over
3.rank over
select id ,username,@rank:=@rank+1 as rank
from users,(select @rank:=0) q
order by username
=====3.特殊函数====
1.nvl
IFNULL(expr1,expr2) ,如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。
2.rownum
3.decode
if(expr,value1,value2) , 如果表达式expr成立则返回value1,反之返回value2
4.merge
INSERT INTO ... ON DUPLICATE KEY UPDATE:
INSERT INTO users(id,username) select * from (select 1 as id,'zs' as username) rs ON DUPLICATE KEY UPDATE username=rs.username
REPLACE INTO:
REPLACE INTO users(ID,USERNAME) select * from (select 1 as id,'zs' as username) rs
注:replace into 是采用的先删除后插入的方式,没有被replace的值会填充为默认值.二者均需要表里面有唯一键或主键
oracle函数mysql替代方案的更多相关文章
- 【转】SQL Server、Oracle、MySQL和Vertica数据库常用函数对比
SQL Server.Oracle.MySQL和Vertica数据库常用函数对比 Vertica数据库是HP公司新收购的用于BI方面的数据库. 1. 绝对值 S:select abs(-1) valu ...
- oracle 函数 WMSYS.WM_CONCAT 与对应 mysql 函数GROUP_CONCAT的用法
1.oracle函数 WMSYS.WM_CONCAT的使用 如图,将图1的结果变成图2的结果,使用函数 WMSYS.WM_CONCAT 即可. 查询语句需要配合使用group by select aa ...
- MySQL存储过程中的3种循环,存储过程的基本语法,ORACLE与MYSQL的存储过程/函数的使用区别,退出存储过程方法
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体 ...
- ORACLE和MYSQL函数
函数 编号 类别 ORACLE MYSQL 注释 1 数字函数 round(1.23456,4) round(1.23456,4) 一样: ORACLE:select round(1.23456,4) ...
- Vertica的这些事(二)——SQL-Server、Oracle、MySQL和Vertica数据库常用函数对比
SQL Server.Oracle.MySQL和Vertica数据库常用函数对比 Vertica数据库是HP公司新收购的用于BI方面的数据库. 绝对值 S:select abs(-1) value O ...
- round函数在oracle和mysql中用法
1.oracle和mysql通用方法 #round(字段1,小数位数) 四舍五入select round('11.123456',4);结果:11.1235 2.mysql的另外2种保留小数位数方法# ...
- Oracle转MySQL
1. to_date 直接去掉 例如 select log.id from CM_LOGINLOG log where log.orgid =? and log.isAuto =? and lo ...
- oracle迁移mysql数据库注意
oracle转mysql修改: . substr() substr( string , 0, 10) 这里测试 必须从 第一位获取 既是 substr(string , 1 , 10)2. to_ch ...
- oracle转mysql总结(转)
ares-sdk初始开发测试使用的是oracle数据库,由于宁波通商的特殊需要,必须把数据库环境从oracle转向mysql. 现对转换过程中出现的问题及经验总结如下: 主键生成策略 创建一个专门记录 ...
随机推荐
- centos7 + postgresql10
mysql被黑惨了,换了个超复杂的密码都不行,黑客会删除你所有的自定义库,然后插一个warning表,让你给他汇比特币. 提醒大家放在在公网的DB,要非常注意数据的安全性,万一被勒索了,真是mmp了. ...
- StoneTab标签页CAD插件 3.1.0
//////////////////////////////////////////////////////////////////////////////////////////////////// ...
- git 报错fatal: not a git repository (or any of the parent directories): .git
产生原因:一般是没有初始化git本地版本管理仓库,所以无法执行git命令 解决方法:操作之前执行以下命令行: git init 初始化git,即可解决:
- NodeJS express框架的使用
首先,可以通过npm或者淘宝镜像cnpm全局安装epress框架,这里不具体说了 npm install -g expressnpm install -g express-generator 新建一个 ...
- BFC渲染机制
BFC(block formatting context):块级格式化上下文(实际就是一个隔离罩) W3C CSS2.1 规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元 ...
- CSS设置浮动导致背景颜色设置无效的解决方法
float浮动会使父元素高度塌陷,父级元素不能被撑开,所以导致背景颜色不能被撑开 解决方法: 对父元素设置高度 对父元素设置 overflow:hidden清除浮动 把父元素也设置为float浮动 结 ...
- 数据分析基础之pandas & numpy
一.jupyter的常用快捷键 - 插入cell: a, b a是after从后插入 a是before 从前插入 - 删除cell: dd, x 都可以 - 修改cell的模式:m, y - t ...
- 【Struts2】Ognl与ValueStack
一.OGNL 1.1 概述 1.2 OGNL 五大类功能 1.3 演示 二.ValueStack 2.1 概述 2.2 ValueStack结构 2.3 结论 2.3 一些问题 三.OGNL表达式常见 ...
- DB2 alter 新增/删除/修改列
SQL语句 增加列.修改列.删除列 1 添加字段 语法 : alter table 表名称 add 字段名称 类型 demo: alter table tableName add columnName ...
- Delphi 从一个对象中继承数据和方法