0

Varchar を INT に変換する必要があるクエリがあります。問題があるとは思わないため、現在クエリ自体を投稿していません。

サーバーの SQL ファイルのバックアップを使用して、自宅の PC でクエリをセットアップしました。両方のマシンに Server 2008 R2 をインストールしています。

クエリは PC で 100% 実行されますが、サーバーで実行すると varchar を INT に変換する際にエラーが発生します。

同じではない設定がどこかにあると思いますか?地域設定を確認しましたが、問題はありません。何か案は?

4

1 に答える 1

1

問題は、クエリの評価方法にあります。クエリのどの部分が評価されるか、またはどの順序で評価されるかは保証されないため、あるマシンでは変換後にフィルターが発生する可能性があり、別のマシンでは発生する可能性があります。または、WHERE 句の条件を別の順序で評価できます

SQL は宣言型であり、手続き型ではありません。SQL を使用すると、必要なものを要求すると、クエリ オプティマイザーが適合すると見なされます。手続き型言語 (C#、Java など) では、実行順序を制御します。

理由はここに詳しく説明されています:なぜ Select Top 100 Percent を使用するのですか?

于 2013-03-28T10:13:54.993 に答える