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.

ロゴスウェア

ロゴスウェア株式会社は、インターネットや情報技術を使って学習に革新的進化をもたらす製品を開発することを目標に、2001年7月に設立されたテクノロジー系ベンチャー企業です。

Comments are closed.