mysql和tbase语法转换(已亲测)
一、sql类:
- 符号 ` (反单引号) 不允许使用,可以直接替换为空格
- 关键字使用双引号标注 例如:l."authorization" ,强烈建议加别名
- 关联查询中表的别名不要使用关键字,建议使用简单的单字母
二、自带函数类
1、 函数:空值判断并替换
mysql: ifnull(menu.NAME, log.operate_menu)
tbase替换后: coalesce(menu.NAME, l.operate_menu)
2、 视图创建
mysql: create or replace algorithm = UNDEFINED view `schema`.`viewlog`
tbase替换后: create or replace view schema.view
创建序列:
create sequence xxl_job_log_report_id_seq start with 1 increment by 1 no minvalue no maxvalue cache 1;
3、 substring
mysql: substring(dsa.UPDATE_TIME,1,10)
tbase: substring(to_char(dsa.CREATE_TIME) FROM 1 FOR 10)
4、 获取前一天时间
mysql: date_sub(current_date,interval 1 DAY)
tbase: to_char(current_date - interval '1 DAY','YYYY-MM-DD')
5、DATE_FORMAT时间格式转换
mysql: DATE_FORMAT(Now(),'%Y%m%d')
tbase: to_char(Now(),'YYYYMMDD')
6、执行sql睡眠3秒
mysql: sleep(3)
tbase: pg_sleep(3)
7、sum 汇总数据
mysql : sum(STORAGE_SIZE)
tbase: sum(coalesce(nullif(STORAGE_SIZE,'')::numeric,0)) 字符串强转去掉空字符串、非法数字
