【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
関連記事
-
-
【SQLServer2012】バックアップ/リストア方法 リストア編
SQL Server 2012のデータベースをManagement Studioを使用して、リストア
-
-
【SQL Server】Management Studioを使ったトランザクションログファイルの圧縮
「ファイルが書き出せない」と問い合わせを受け、DBサーバーのマイコンピュータ確認したら、Dドライブ(
-
-
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新
前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し 前回はVBAから更新S
-
-
【SQL Server】Management Studioでテーブルをデザインから変更するとエラーになる
変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要に
-
-
【Management Studio】データベースの定義を取得する方法
あくまでデータベース定義の取得です。 ※データベースのデータを取得する方法ではありません。
-
-
【SQL Server 2012】バッチ(コマンドプロンプト)でリストア
バッチ(コマンドプロンプト)を使って、SQL Server 2012のリストアしてみたいと思います。
-
-
【コマンドプロンプト】cmdでSQLの結果を変数に取得する方法
力技の取得方法をご紹介。というかメモ。 題名には偉そうに書きましたが…なかなか良い方法が見つか
-
-
【レプリケーション】SQL Server 2012 Expressでレプリケーション
Windows Server 2012のSQL Server 2012 Expressを二台用意して
-
-
【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定
ODBCでAccess2007からSQL Server 2012へ接続する為には SQL Serv
-
-
【SQL Server 2012】SQLでエクセル表示の実行エラーの対処法
SQLでエクセル表示を実行した時にエラーとなった場合の対処法。 実はSQLでエクセルファイルを表示