【 TiDB 使用环境】生产环境
【 TiDB 版本】7.1.0
1. tidb 7.1.0 JSON_OBJECT + if() 与tidb-5 返回结果不一致。tidb-5返回true/false, tidb-7返回0/1
CREATE TABLE `tt2` (
`I_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`I_HAS_RECEIPT` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0:否,1:是',
PRIMARY KEY (`I_ID`) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 COMMENT='xx';
insert into tt2 values(1, 0),(2, 1);
select JSON_OBJECT('has_receipt',if(I_HAS_RECEIPT = 0, false, true))from tt2 limit 10;
https://github.com/pingcap/tidb/issues/47197
2. group_concat( order by) 需要增加在临时表、内存表层面的order by
3. 升级TIDB版本需要DM同步升级,否则可能导致json数据不兼容。
4. tidb-5 的 整型对比 date_sub 返回不一致; tidb-5返回true、tidb-7返回false
select date_sub(date_sub("2023-09-22 00:00:00", interval 2 month),INTERVAL WEEKDAY(date_sub("2023-09-22 00:00:00", interval 2 month)) DAY)