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

SQL Server(T-SQL)でのCHAR()関数のしくみ

    SQL Serverでは、T-SQL CHAR() 関数はintを変換します 文字値へのASCIIコード。つまり、整数を渡すと、関数はそれを文字列文字のコード値として解釈し、対応する文字列文字を返します。

    構文

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

    CHAR ( integer_expression )

    integer_expressionの場所 は0から255までの整数です。

    この範囲外の整数を指定すると、結果はNULLになります。 。 2バイト文字の最初のバイトのみを表す整数を指定した場合も同様です。

    例1-基本的な使用法

    基本的な使用法を示す例を次に示します。

    SELECT CHAR(67) AS 'Result';

    結果:

    +----------+
    | Result   |
    |----------|
    | C        |
    +----------+
    

    したがって、整数を変更すると、別の文字が得られます:

    SELECT CHAR(255) AS 'Result';

    結果:

    +----------+
    | Result   |
    |----------|
    | ÿ        |
    +----------+
    

    例2–複数の整数

    この関数は、引数として複数の整数をサポートしていません。複数の整数を指定すると、エラーが発生します。

    次に例を示します:

    SELECT CHAR(67, 255) AS 'Result';

    結果:

    The char function requires 1 argument(s).
    

    これは、MySQLのCHAR()とは対照的であることに注意してください 関数(複数の整数を指定できます)。

    例3–範囲外の整数

    この関数は、1〜255の範囲外の整数もサポートしていません。引数がこの範囲外の場合、結果はNULLになります。 。

    次に例を示します:

    SELECT CHAR(256) AS 'Result';

    結果:

    +----------+
    | Result   |
    |----------|
    | NULL     |
    +----------+
    

    これも、MySQLのCHAR()とは対照的です。 関数。255より大きい整数を受け入れます(この場合、それらは自動的に複数の結果バイトに変換されます)。

    例4–制御文字の挿入

    CHAR(13)の使用例を次に示します。 後続の文字を改行に印刷するには:

    SELECT 'Homer' + CHAR(13) + '[email protected]' AS 'Name/Email';

    結果:

    +--------------+
    | Name/Email   |
    |--------------|
    | Homer
    [email protected]              |
    +--------------+
    

    CHAR(13)を削除すると次のようになります。 :

    SELECT 'Homer' AS 'Name', '[email protected]' AS 'Email';

    結果:

    +--------+-----------------------+
    | Name   | Email                 |
    |--------+-----------------------|
    | Homer  | [email protected] |
    +--------+-----------------------+
    

    1. デフォルトのトレースの削除–パート1

    2. ClusterControl-高度なバックアップ管理-mariabackupパートII

    3. mysqlテーブルの行を列に転置する方法

    4. 死ぬことのないゾンビPerfMonカウンター!