db2和mysql在sql的语法上有很大的不同。本文就针对这些不同进行记录。
【mysql和db2 语句的区别】记录可能不全,会不断进行完善
一、建表语句
DB2 | MYSQL | |
自增 | GENERATED ALWAYS AS IDENTITY |
|
默认当前时间 |
|
|
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 |
|
返回参数中的第一个非空表达式(从左向右依次类推)(a,b,c)
|
|
转字符串 | 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
推荐阅读
- 数据库|SQL行转列方式优化查询性能实践
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- SQL|SQL基本功(五)--函数、谓词、CASE表达式
- SQL|SQL基本功(三)-- 聚合与排序
- web挖洞|HACK学习黑帽子Python--漏洞检测脚本快速编写
- sqlite|python中用SQLite3添加 主键约束 唯一约束 非空约束 外键约束(约束的介绍以及设置)
- python|python中使用SQLite3对数据库的基本操作(基于ubuntu操作系统)
- TDSQL | DTS for PostgreSQL 逻辑复制详解
- TDSQL | 《checkpoint 原理浅析》
- TDSQL-A 技术架构演进及创新实践