SQL Serverでは、LEN()
を使用できます 文字列の文字数を返す関数。これは、Azureデータベースでも使用できるTransact-SQL関数です。
MySQLでは、CHAR_LENGTH()
を使用する必要があります 機能。
例
それぞれの例を次に示します。
SQL Server(T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
結果:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat') AS MySQL;
結果:
+-------+ | MySQL | +-------+ | 3 | +-------+
末尾の空白に注意してください!
これらの関数の違いの1つは、末尾の空白(文字列の最後のスペースなど)の処理方法にあります。 T-SQLのLEN()
関数除外 MySQLのCHAR_LENGTH()
の間、末尾の空白 関数にはが含まれます それら。
したがって、前の例に末尾の空白を追加すると、次のようになります。
SQL Server(T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
結果:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat') AS MySQL;
結果:
+-------+ | MySQL | +-------+ | 4 | +-------+
MySQLで末尾の空白を除外する必要がある場合は、文字列をTRIM()
でラップする必要があります 働き。このように:
SELECT CHAR_LENGTH(TRIM('Cat ')) AS 'MySQL with TRIM';
結果:
+-----------------+ | MySQL with TRIM | +-----------------+ | 3 | +-----------------+
ただし、先行ブランクについては心配しないでください!
T-SQLの両方のLEN()
関数とMySQLのCHAR_LENGTH()
関数include 先頭の空白。
SQL Server(T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
結果:
T-SQL ----- 4
MySQL
SELECT CHAR_LENGTH(' Cat') AS 'MySQL';
結果:
+-------+ | MySQL | +-------+ | 4 | +-------+