[LightDB兼容增强]兼容mysql substring函数
在即将到来的23.1版本中,lightDB加入了兼容mysql substring函数的特性。
这次的改动主要有以下几点
- 支持pos传入负数,传入参数为负数时,pos从输入字串末尾算起
- pos传入0时,返回空串
- len<1时,返回空串
- 任意一个传入参数为NULL时,返回NULL
- pos以及len支持numeric参数,取整规则与mysql一致
下面让我带领小伙伴们先行体验一波。
1,创建数据库
dev@lt_mysql_mode=# CREATE DATABASE db_mysql_mode with lightdb_syntax_compatible_type mysql; CREATE DATABASE
2,连上刚刚创建的数据库
dev@lt_mysql_mode=# \c db_mysql_mode ; You are now connected to database "db_mysql_mode" as user "dev".
3,在控制台显示指定null显示为NULL
dev@db_mysql_mode=# \pset null NULL; Null display is "NULL;"
4,SQL案例
dev@db_mysql_mode=# select substr('abc',1,1); substr -------- a (1 row) dev@db_mysql_mode=# select substr('abc',0,1); substr -------- (1 row) dev@db_mysql_mode=# select substr('abc',-2,2); substr -------- bc (1 row) dev@db_mysql_mode=# select substr('abc',1.5,1); substr -------- b (1 row) dev@db_mysql_mode=# select substr('abc',-1.5,1); substr -------- b (1 row) dev@db_mysql_mode=# select substr('abc谁家锅盖掉了',-1.5,1); substr -------- 掉 (1 row) dev@db_mysql_mode=# select substr('abc谁家锅盖掉了',null,1); substr -------- NULL; (1 row)