SQL Server 2012 CONCAT関数の置換の近似におけるNULLセーフドロップ
SQL Server 2012:
SELECT CONCAT(data1, data2)
PRE SQL 2012(2つのソリューション):
SELECT {fn CONCAT(ISNULL(data1, ''), ISNULL(data2, ''))}
SELECT ISNULL(CAST(data1 AS varchar(MAX)), '') + ISNULL(CAST(data2 AS varchar(MAX)), '')
これらの2つのソリューションは、@ Martin Smith、@ Svish、@ vasin1987を含む他のポスターによって提起されたいくつかの優れた回答と警告を照合します。
これらのオプションは、特定のオペランドに関連する演算子のさまざまな動作を考慮しながら、安全な処理のためNULL
に''
(空の文字列)キャストに追加されます。NULL
+
オペレーターアプローチは必要に応じて多くの引数にスケーラブルであるのに対し、ODBCスケーラー関数ソリューションは2つの引数に制限されています。+
また、@ Swiftyによって特定された、varchar
ここで修正されたデフォルトサイズに関する潜在的な問題にも注意してくださいvarchar(MAX)
。