小言_互联网的博客

mysql和db2 语句的区别

358人阅读  评论(0)

db2和mysql在sql的语法上有很大的不同。本文就针对这些不同进行记录。

记录可能不全,会不断进行完善

一、建表语句

  DB2 MYSQL
自增 GENERATED ALWAYS AS IDENTITY
AUTO_INCREMENT
默认当前时间
DEFAULT CURRENT TIMESTAMP
DEFAULT CURRENT_TIMESTAMP
     
     
     
     
     
     
     

二、查询语句

  DB2 MYSQL
CONCAT CONCAT(a,CAONCAT(b,c)) CONCAT(a,b,c)
转时间 TI_DATE(a,'yyyy-mm-dd hh24:mi:ss') STR_TO_DATE(a,,'%Y-%m-%d %H:%i:%s')
前a行 FETCH FIRST a ROWS ONLY LIMIT a
coalesce

返回参数中的第一个非空表达式(从左向右依次类推)    (a,b,c)

coalesce(null,2,3)   // Return 2
coalesce(null,null,3)  // Return 3
转字符串
TO_CHAR(a, 'yyyy-mm-dd hh24:mi:ss')
DATE_FORMAT(a,'%Y-%m-%d %H:%i:%s')
     
     
     
     

三、修改表结构语句

 

四、索引

 

附录(一些坑):

1. ||    在db2和mysql中存在很大的不同:

substr( START_TIME, 1, 10 ) || ' ' || substr( START_TIME, 12, 8 ) LIKE CONCAT( '%', CONCAT( '2018-11-22', '%' ) ) 

在db2中|| 是表示拼接,这个语句就是正常的含义

但是mysql中||  是OR的意思,所以上面这个判断一定是true

 

 

 


转载:https://blog.csdn.net/u012402190/article/details/102483911
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场