【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 2012】テーブル、カラム、主キー、NULL制約、データ型、長さ、INDEXの有無の一括表示
職場のシステムリプレースに伴い、データベースのテーブル(カラム)の一覧が必要になりました。 普
-
-
【SQL Server 2012】SQLでエクセル表示の実行エラーの対処法
SQLでエクセル表示を実行した時にエラーとなった場合の対処法。 実はSQLでエクセルファイルを表示
-
-
【Management Studio】Microsoft SQL Server 2012 ExpressにManagement Studio のインストール方法。
前回、Windows Server 2012にSQL Server 2012 Expressをインス
-
-
【SQL Server 2012】Management Studioでサンプルデータベース(mdfファイル)をアタッチ
以前、Windows Server 2012にMicrosoftR SQL ServerR 2012
-
-
【SQL Server】Excel VBAでSQLを実行し、レコードを更新(追加、更新、削除)する
VBAでSQL Serverのテーブルに SQL(Insert、Update、Delete)を発行
-
-
【ODBC】Windows7でAccess2007とSQL Serverを接続する為のODBCの作成
前回、ODBC接続の為のサーバー側の設定を行いましたので、 今回はAccess2007側のWind
-
-
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新
前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し 前回はVBAから更新S
-
-
【コマンドプロンプト】cmdでSQLの結果を変数に取得する方法
力技の取得方法をご紹介。というかメモ。 題名には偉そうに書きましたが…なかなか良い方法が見つか
-
-
【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定
ODBCでAccess2007からSQL Server 2012へ接続する為には SQL Serv
-
-
【SQL Server 2012】Management Studioを使ったバックアップで面白い機能。
Management Studioを使ったバックアップをかれこれ3年くらいやってるんですが、一つのバ