sql >> データベース >  >> RDS >> Mysql

MySQLのLEN()と同等のものは何ですか?

    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 |
    +-------+
    


    1. 等しい操作でSQL_Latin1_General_CP1_CI_ASとLatin1_General_CI_AS間の照合の競合を解決できません

    2. SQL Serverテーブル:@、#、および##の違いは何ですか?

    3. OLE DBソースコンポーネントのストアドプロシージャパラメータに値を渡すにはどうすればよいですか?

    4. IRI Voracity(Total Data Management)の紹介[ビデオ]