私はSQL Serverでこのアドホッククエリ(UserId
がNVARCHARフィールドであると仮定)しようとすると:この場合、SQL Serverの暗黙の型キャストはどのように機能しますか?
SELECT * FROM MyUser WHERE UserId = 123456
を、私はこのエラーを取得する:
Msg 245, Level 16, State 1, Line 1 Syntax error converting the nvarchar value 'foo' to a column of data type int.
は明らか値'foo'
はどこかダウンしていますUserId
の列。
なぜSQL Serverが私の目に見えるようなことをするのではなく、列全体をINTEGERに変換しようとしていますか?検索値をNVARCHARに変換しますか?
なぜそれがそれをしているのかわかりません。しかし、それは常にそうです:) –