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

MySQLでのLPAD()関数のしくみ

    MySQLでは、LPAD() 関数を使用すると、文字列の左側に1つ以上の文字を埋め込むことができます。

    動作方法は、パディングする文字列、パディングの長さ、およびパディングに使用する文字列を指定することです。

    構文

    構文は次のようになります:

    LPAD(str,len,padstr)
    

    str 埋める文字列、len は、すべてのパディングが適用された後の文字列の望ましい長さであり、padstr 埋める文字列です。

    例1-基本的な使用法

    文字列の左側にアスタリスク文字を埋め込む例を次に示します。

    SELECT LPAD('Cat', 6, '*') AS Result;
    

    結果:

    +--------+
    | Result |
    +--------+
    | ***Cat |
    +--------+
    

    この例では、2番目の引数は6です。 、つまり、すべてのパディングが適用された後、文字列全体の長さは6文字になる必要があります。 3番目の引数は、パディングに使用する文字を指定します。

    したがって、この場合、アスタリスクが1つだけ必要な場合は、次のように実行できます。

    SELECT LPAD('Cat', 4, '*') AS Result;
    

    結果:

    +--------+
    | Result |
    +--------+
    | *Cat   |
    +--------+
    

    例2–複数の文字

    キャラクターは1人だけではありません。文字列には任意の数の文字を埋め込むことができます。

    たとえば、前の例を使用して、アスタリスクの後にスペースを追加できます。

    SELECT LPAD('Cat', 5, '* ') AS Result;
    

    結果:

    +--------+
    | Result |
    +--------+
    | *Cat   |
    +--------+
    

    文字数も5に増やしたことに注意してください 余分なキャラクターに対応するため。

    さまざまな文字を使用した別の例を次に示します。

    SELECT LPAD('!', 15, 'Blah ') AS Result;
    

    結果:

    +-----------------+
    | Result          |
    +-----------------+
    | Blah Blah Blah! |
    +-----------------+
    

    例3–2番目の引数が小さすぎる

    2番目の引数の値が小さすぎると、パディングがなくなる可能性があります:

    SELECT LPAD('Cat', 3, '*') AS Result;
    

    結果:

    +--------+
    | Result |
    +--------+
    | Cat    |
    +--------+
    

    また、パディングストリングが短くカットされたり、元のストリングが短くカットされたりする場合もあります。

    SELECT 
      LPAD('Cat', 6, 'Puddy '),
      LPAD('Cat', 2, 'Puddy ');
    

    結果:

    +--------------------------+--------------------------+
    | LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') |
    +--------------------------+--------------------------+
    | PudCat                   | Ca                       |
    +--------------------------+--------------------------+
    

    これらの例はデモンストレーションのみを目的としていることに注意してください。ほとんどの場合、LPAD()は使用しません 2つの単語を単純に結合します。そのためには、CONCAT()を使用することをお勧めします 代わりに。

    例4–データベースの例

    データベースからデータを選択し、その左側をパディングする例を次に示します。

    SELECT Genre, LPAD(Genre, 10, '.')
    FROM Genres;
    

    結果:

    +---------+----------------------+
    | Genre   | LPAD(Genre, 10, '.') |
    +---------+----------------------+
    | Rock    | ......Rock           |
    | Jazz    | ......Jazz           |
    | Country | ...Country           |
    | Pop     | .......Pop           |
    | Blues   | .....Blues           |
    | Hip Hop | ...Hip Hop           |
    | Rap     | .......Rap           |
    | Punk    | ......Punk           |
    +---------+----------------------+
    


    1. Oracle/TOADでのコンパイルエラーに関する情報を取得する方法

    2. MySQLの階層クエリ

    3. MySQLユーザーDBにパスワード列がありません-OSXへのMySQLのインストール

    4. OracleEBSでXMLImporterとFndXdfCmpを使用する方法