SQL Server 文字のバイト数をカウントする

SQL Server 文字のバイト数をカウントする

SQL Serverで、文字のバイト数をカウントする手順を記述してます。

環境

  • OS windows10 pro
  • SQL server 2019
  • SSMS 18.7.1

文字のバイト数をカウントする

文字のバイト数をカウントする場合は、「DATALENGTH」を使用します。

DATALENGTH(文字列)

実際にカウントしてみます。

DECLARE @c NVARCHAR(20) = N'あa1';

SELECT  @c,
        DATALENGTH(@c)

実行結果

1文字2バイトとして、カウントされていることが確認できます。

空白の扱い

空白も2バイトとしてカウントされます。

DECLARE @c NVARCHAR(20) = N' あa1 ';

SELECT  @c,
        DATALENGTH(@c)

実行結果

サロゲートペア

サロゲートペアは、4バイトとしてカウントされます。

DECLARE @c NVARCHAR(20) = N'😂';

SELECT  @c,
        DATALENGTH(@c)

実行結果