ホームページ >データベース >mysql チュートリアル >SQL Server 2005 で nvarchar(max) 文字列が 4000 文字に切り詰められるのはなぜですか?
SS 2005 での Nvarchar(Max) 文字列の切り詰め
nvarchar(max) として宣言された文字列が TSQL で 4000 文字しか取得できないのはなぜですかSSで2005?
解決策
@SQL1 を nvarchar(max) として宣言しているにもかかわらず、最初はそれぞれ 4000 未満の短い文字列のコレクション (@alldate、@alldateprevweek) を格納します。文字。文字列連結プロセスでは、これらを最大値以外の文字列として扱い、その後 @SQL1 に最大 4000 文字を入力します。
この問題を解決するには、@SQL1 への代入の右側全体が nvarchar であることを確認してください。 (最大)。たとえば、nvarchar(max) 定数を連結する前に、@SQL1 を空の文字列として初期化します。
SET @SQL1 = '' SET @SQL1 = @SQL1 + 'SELECT DISTINCT Venue...
代入演算子は、他の言語の整数の除算と同様に、優先順位が最も低くなります。したがって、データ型の優先順位は連結ではなく代入によって決まります。
以上がSQL Server 2005 で nvarchar(max) 文字列が 4000 文字に切り詰められるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。