mysql转DM的日期函数转换
背景:
项目要从mysql转换为DM数据库,发现很多日期函数在DM是不能用的. 所以大概总结下有哪些,以及转换思路.
正文:
INTERVAL 表示日期间隔. 看做拼接符.
DATE_ADD 表示日期相加运算.
timestampdiff(unit,begin,end) 计算差值,unit是差值的单位
date_sub(date,interval expr type),函数从日期减去指定的时间间隔.
注意: 这个比较特殊 . select date_sub(CURRENT_TIMESTAMP(),interval - 4 day) 表示当前时间的4天后
转换demo
1. DAY ( #{startDay} ) 转换为: DATE_FORMAT(#{startDay},'%d')
2. DAY(last_day( #{startDay} ) ) 转换为: DATE_FORMAT(last_day( #{startDay} ),'%d')
3. (SELECT DATE_ADD( curdate(), INTERVAL - DAY ( curdate())+ id DAY ) AS dt
转换为:
select to_char( CURRENT_Date - DATE_FORMAT(CURRENT_Date,'%d') + 1 ,'yyyy-mm-dd')
4. DATE_SUB日期间隔相反. +4 表示当前日期的前面4天. -4表示当前日期往后推迟4天
select DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL + 1 DAY)
转换为:
select CURRENT_TIMESTAMP() - 1
5. DATE_ADD( #{startDay}, INTERVAL + id - DAY ( #{startDay} ) DAY ) AS dt
分步解释:
转换为 内部日期相加.
1. #{startDay}字符串转date
to_date(#{startDay},'yyyy-mm-dd')
2. DAY ( #{startDay} ) 转天数
DATE_FORMAT(#{startDay},'%d')
3. to_char拼接起来
to_char( to_date(#{startDay},'yyyy-mm-dd') + id - DATE_FORMAT(#{startDay},'%d') , 'yyyy-mm-dd' )
ps:这里date_add加最好只用to_char来转,我试了to_date是报错的.
6. TIMESTAMPDIFF( DAY, CURRENT_DATE, b.bj_end_time ) 这里DM也是支持day,hour这种作为单位的.
转换为:
select TIMESTAMPDIFF(DAY,CURRENT_Date,CURRENT_Date)
7. if函数出现问题.
DM是支持select IF( 1==1, 2, 0) 这种写法的.
但是不支持 类型为null或者date类型的.
8. DateDiff
这个和TIMESTAMPDIFF用法类似.
代码里面是: DATEDIFF( CURRENT_TIMESTAMP, a.deadline )
改造后是: DATEDIFF( DAY,CURRENT_TIMESTAMP, a.deadline )
mysql转DM的日期函数转换的更多相关文章
- GROUP BY和HAVING 以及mysql中常用的日期函数
一.mysql中的GROUP BY和HAVINGGROUP BY常见的是和聚合函数(SUM,MIN,MAX,COUNT)搭配使用. 比如:SELECT category,SUM(money) AS ` ...
- mysql 中时间和日期函数应用
一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...
- mysql 中 时间和日期函数
From: http://www.cnblogs.com/redfox241/archive/2009/07/23/1529092.html 一.MySQL 获得当前日期时间 函数 1.1 获得当前日 ...
- (2.17)Mysql之SQL基础——日期函数
关键词:mysql时间函数,mysql日期函数 [1]curdate():返回当前日期(2019-03-06),curdate()+0 返回(20190306) [2]curtime():返回当前时间 ...
- mysql 常用的时间日期函数小结
本文主要是总结一些常用的在实际运用中常用的一些mysql时间日期以及转换的函数 1.now() :返回当前日期和时间 select now(); //2018-04-21 09:19:21 2.cu ...
- mysql查询时间戳和日期的转换
mysql提供了两个函数: from_unixtime(time_stamp) -> 将时间戳转换为日期 unix_timestamp(date) -> 将指定的日期或者日期字符串转换为时 ...
- MYSQL常用的时间日期函数
#时间日期函数 #获取当前日期XXXX-XX-XXSELECT CURRENT_DATE(); SELECT CURDATE();#效果与上一条相同 #获取当前日期与时间XXXX-XX-XX XX:X ...
- SQL 日期函数转换
1.转换函数 与date操作关系最大的就是两个转换函数:to_date(),to_char() to_date() 作用将字符类型按一定格式转化为日期类型: 具体用法:to_date('2004-11 ...
- oracle日期函数转换真麻烦。。。
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2011 ...
- mysql 时间格式与日期格式转换,去除datetime中的具体时间
DATE_FORMAT(`addtime`,'%Y-%m-%d') 时间格式转成字符串 time_format('1924-01-02', '%Y-%m-%d') 字符串转成时间格式 CONVERT ...
随机推荐
- 什么是Auth模块?(全面了解)
目录 一:Auth模块 1.什么是Auth模块? 2.Auth模块作用 二:引入Auth模块 1.其实我们在创建好一个Django项目之后直接执行数据库迁移命令会自动生成很多表 2.django在启动 ...
- PHP 实现大文件视频推流
/** * 视频推流 * 返回视频流 */ function bofang(){ set_time_limit(0); ini_set('max_execution_time', 0);//秒为单位, ...
- SQLMap入门——获取数据库用户的密码
列出数据库用户的密码 如果当前用户有读取包含用户密码的权限,SQLMap会先列举出用户,然后列出Hash,并尝试破解 python sqlmap.py -u http://localhost/sqli ...
- java的基本数据类型自动转换
本文主要内容阐明java的自动数据类型转换 首先明确,数据总是由精度低到精度高方向转换 public class AutoConvert { public static void main(Strin ...
- 判断条件为NULL
在ASCII码表里NULL的二进制位0.所以NULL作为判断条件时,表示为假的意思. ASCII表 二进制 字符 ...
- 【深入浅出Spring原理及实战】「源码调试分析」结合DataSourceRegister深入分析ImportBeanDefinitionRegistrar的源码运作流程
每日一句 人的一生中不可能会一帆风顺,总会遇到一些挫折,当你对生活失去了信心的时候,仔细的看一看.好好回想一下你所遇到的最美好的事情吧,那会让你感觉到生活的美好. 注入案例代码 如何通过实现Sprin ...
- 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话
1.简介 前边几篇宏哥介绍了Charles界面内容以及作用.今天宏哥就讲解和分享如何设置Charles后,我们就可以愉快地捕获会话,进行抓包了.因为上一篇许多小伙伴看到宏哥的Charles可以分开看到 ...
- 踩坑实录---Angular防抖——点击事件
npx ng g directive DebounceClickDirective --module=app 然后自动生成了2 个文件 CREATE src/app/debounce-click-di ...
- 12月8日内容总结——Django推导流程,Django模块的下载和基本使用、Django的应用和目录结构讲解、Django三板斧
目录 一.纯手撸web框架 二.基于wsgiref模块 三.代码封装优化 四.动静态网页 五.jinja2模块 六.前端.后端.数据库三者联动 七.python主流web框架 八.django简介 1 ...
- Sentry 后端云原生中间件实践 ClickHouse PaaS ,为 Snuba 事件分析引擎提供动力
目录(脑图) ClickHouse PaaS 云原生多租户平台(Altinity.Cloud) 官网:https://altinity.cloud PaaS 架构概览 设计一个拥有云原生编排能力.支持 ...