本文内容来自YashanDB官网,原文内容请见 MySQL的FIND_IN_SET如何在YashanDB改写-YashanDB
前言
MySQL应用使用的SQL的Where条件存在FIND_IN_SET,无法在YashanDB直接执行,需要改写。本文探讨不兼容的原因,并给出改写手段。
问题
SQL示例
MySQL执行成功
mysql> select c1 from t1 where find_in_set(c2,'a,b,c'); +------+ | c1 | +------+ | 1 | +------+ 1 row in set (0.00 sec) |
YashanDB报错
SQL> select c1 from t1 where find_in_set(c2,'a,b,c'); [1:25]YAS-04336 boolean expression expected |
原因
MySQL的Boolean类型实际上是tinyint类型的同义词,0值为false,非0值为true。这意味着在