MySQLのsubstring関数


先日MySQLのsubstring関数を使う機会があったのですが、PHPのsubstrとは少し動きが違うみたいです。

PHPでは以下のような結果になるものが、

// PHP
substr('logosware', 3, 2)

出力結果
os

MySQLでは、違う結果がでます。

// MySQL
substring('logosware', 3, 2)

出力結果
go

また、

今度は開始位置にマイナスを入れてみると・・・

// PHP
substr('logosware', -3, 2)

出力結果
ar

MySQLでは、同じ結果が返ってきます。

// MySQL
substring('logosware', -3, 2)

出力結果
ar

些細なことですが、正しく理解していないと当然バグにつながります。

The following two tabs change content below.

いしかわ

まだまだ広く浅く勉強中のエンジニア。得意分野はラーメン。

Comments are closed.