2011-09-30 21 views
7

タイトルのとおり: SQL Serverで暗黙的な型変換を無効にする方法はありますか?いくつかの検索は、それが人々の数はを求めている何かであることを示しているでしょうがSQL Serverで暗黙的な型変換を無効にする方法はありますか?

私は、次のような単純なSQLがエラー

SELECT 'a' WHERE 1='1' 
+0

良い質問ですが、どうしてそれは重要ですか?それについて考えているのは十数秒後、私は2つの異なるタイプを比較する例を考えることはできませんが、もし私が2つの異なるタイプを比較していたら、変換をしたいと思っています。 – nnnnnn

+1

理由の。とりわけあなたの名前:偶然の比較。私はそれがキーである可能性があり、別のテーブルに外部キーを持っている可能性がありますフィールド上のテーブル内のユーザー定義型を持っているといいと思います。私は、デフォルトが2つの値を比較するときにあるべきだと思う - 型の型が異なる場合:失敗する。 – Yodiz

+1

これは、Chris Dateが彼の友人E.Fod Coddの属性であるStandard SQLの機能です。「時にはDBMSよりも多くのことをユーザーが知ることがあります」という考えがあります。しかしDateはこれが誤解であると考えています:google正確なフレーズ '[" Codd-style domain checks "](http://www.google.co.uk/search?q=%22Codd-style+domain+checks% 22)を参照してください。 – onedaywhen

答えて

10

無効にする方法はありません。

それはしかし、要求された:それは実際ので、外部キーの

あなたの例では、興味深いですdatatype precedenceルールに従って全く予測可能である、しかしErland Sommarskog

から来て提案SET OPTION STRICT ON MSの接続要求を参照してくださいFOREIGN KEY制約には、同じデータ型、長さおよび照合が必要です。

0

SQLサーバーでの暗黙の変換を無効にする方法はありませんを生成したいです。

関連する問題