【SQL Server】varchar型、nvarchar型の文字数とバイト(byte)数を取得する
varchar型の文字数、バイト(byte)数を取得する方法
SELECT LEN(【文字数を取得したいカラム名】) as 文字数
,DATALENGTH(【Byte数を取得したいカラム名】)as Byte数
FROM 【対象テーブル名】
varchar型については、例のようにLEN関数とDATALENGTH関数を使用することで簡単に取得することができる。
nvarchar型の文字数、バイト(byte)数を取得する方法
SELECT LEN(【文字数を取得したいカラム名】) AS 文字数
,DATALENGTH(CONVERT(varchar(50),【文字数を取得したいカラム名】)) AS Byte数
FROM 【対象テーブル名】
nvarchar型の文字数については、LEN関数で問題なく取得可能。
バイト(Byte)数を取得する際は、一度、CONVERT関数を使用し、varchar型へ変換してからDATALENGTH関数を使用しないと、全角半角関係なく1文字が2Byteとして扱われてしまう。
また、CONVERT関数でvarchar型へ変換するが、varchar型の大きさを指定しないと最大サイズが「30」となってしまうので、実際のサイズと同様のサイズ以上で指定したほうが良い。
今回使用したバージョン:SQL SERVER 2012
Adsense
関連記事
-
-
【SQL Server】データベース作成日時(リストアした日付)を確認する方法
トラブルの調査をするとき、開発用の環境を作成して、調査するのですが… この環境っていつ作成した
-
-
【SQL Server 2012】バックアップ/リストア方法 バックアップ編
Management StudioでSQL Server 2012のデータベースバックアップファイル
-
-
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得
前回は、テーブルのレコードをVBAで直接更新(Insert/update/delete) 今回
-
-
【Management Studio】データベースの定義を取得する方法
あくまでデータベース定義の取得です。 ※データベースのデータを取得する方法ではありません。
-
-
【SQL Server 2012 Express】Windows Server 2012にインストールしてみる
Windows Server 2012にSQL Server 2012をインストールしてみる。 以
-
-
【Management Studio】テーブル単位のメモリ使用量の確認
1.Management Studioを起動し、メモリ使用量が確認したい対象サーバーへ接続 2.確
-
-
【SQL Server】Excel VBAでSQLを実行し、レコードを更新(追加、更新、削除)する
VBAでSQL Serverのテーブルに SQL(Insert、Update、Delete)を発行
-
-
【SQL Server】エクセルをテーブルに取り込む方法
以前にManagement Studioを使ってSQLでエクセルを直接取り込む方法を書きましたが、今
-
-
【SQL Server 2012】バッチ(コマンドプロンプト)でバックアップ
バッチ(コマンドプロンプト)を使って、SQL Server 2012のバックアップを取得します。
-
-
【SQL Server 2012】バッチ(コマンドプロンプト)でリストア
バッチ(コマンドプロンプト)を使って、SQL Server 2012のリストアしてみたいと思います。




