トップ回答者
文字列変数の最大長の取得

質問
回答
-
どんな用途に必要になるのか判らないまま、いろいろ調べてしまいました(笑)
こんなので行けるようですが、変数がNULLの場合は、取れませんのでNULLの場合はダミー値を入れるなどの対処は必要でしょう。
DECLARE @TEST AS VARCHAR(15)
SET @TEST='ABCD'
SELECT SQL_VARIANT_PROPERTY(@TEST,'BaseType') AS typeName
,SQL_VARIANT_PROPERTY(@TEST,'MaxLength') AS MaxLength
---------------------------------
Infospire Kayano- 回答としてマーク azarasi 2011年3月22日 1:13
-
IS Kayano-san が既に回答しているとおり、SQL_VARIANT_PROPERTY 関数を使用すれば実現可能だと思います。
注意点として、'MaxLength' はバイト単位なので、char(10) は 10 (バイト)、 nchar(10) は 20 (バイト) になります。
SQL_VARIANT_PROPERTY (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms178550.aspx- 回答としてマーク azarasi 2011年3月22日 1:13
すべての返信
-
どんな用途に必要になるのか判らないまま、いろいろ調べてしまいました(笑)
こんなので行けるようですが、変数がNULLの場合は、取れませんのでNULLの場合はダミー値を入れるなどの対処は必要でしょう。
DECLARE @TEST AS VARCHAR(15)
SET @TEST='ABCD'
SELECT SQL_VARIANT_PROPERTY(@TEST,'BaseType') AS typeName
,SQL_VARIANT_PROPERTY(@TEST,'MaxLength') AS MaxLength
---------------------------------
Infospire Kayano- 回答としてマーク azarasi 2011年3月22日 1:13
-
IS Kayano-san が既に回答しているとおり、SQL_VARIANT_PROPERTY 関数を使用すれば実現可能だと思います。
注意点として、'MaxLength' はバイト単位なので、char(10) は 10 (バイト)、 nchar(10) は 20 (バイト) になります。
SQL_VARIANT_PROPERTY (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms178550.aspx- 回答としてマーク azarasi 2011年3月22日 1:13