select '1' + '1'
を実行すると、結果は私が別のものにテキストを追加しておりますので、11です。私は結果が2である
select 1 + '1'
を実行する場合
Iは、算術演算子が原因で最初のオペランドのタイプの連結器の上に選択されていると仮定する。私の推論が有効であった場合は、
select '1' + 1
の結果は11になりますしかし、その代わりに、それはそう2.ですが、オペレータ+は算術演算子として使用することを試みているようだとのどちらかのオペランドは算術演算で、次の演算子に進みます。それが本当であるならば、私はデータ型 int型にvarchar型の値が「customer_」を変換するときに失敗した
変換のエラーを取得しなかった理由、それが説明するだろう。
select and had 'customer_' + <somenumber>
を実行したときのcustomer_<somenumber>
ではなく、customer_<somenumber>
です。
私は、算術+
がSQL Serverでの連結の意味よりも好ましいことを確認したと思います。私は正しい?もしそうなら、この行動の正式な理由はありますか?
に変換しようとしませんので、理由[データ型の優先順位]である(https://msdn.microsoft.com /en-us/library/ms190309.aspx?f=255&MSPPError=-2147217396) – Lamak