MS-SQL Server 2005 データベースを検索して、特定のテキスト フィールドの長さが常に 8 の倍数であることを確認していました。次のクエリを実行すると、いくつかの行の長さが 30 であることがわかりました。しかし、それらのレコードを調べたところ、それよりも長いことがわかりました。
select distinct len(cast(textfield as varchar)) from tablename
ただし、varchar の長さを (次のクエリのように) もっと長く指定すると、問題なく動作します。
select distinct len(cast(textfield as varchar(1000))) from tablename
デフォルトが 30 である理由と、これが構成可能な設定であるかどうかを知っている人はいますか?