[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)

  

 

posted on 2023-03-15 21:15  aodb  阅读(29)  评论(0编辑  收藏  举报