2013-03-28 40 views
0

我有一個查詢要求將Varchar轉換爲INT。 Iam目前沒有發佈查詢本身,因爲我不相信問題在那裏。錯誤將varchar轉換爲Int-Sql服務器vs本地PC上的SQL

我使用來自服務器SQL文件的備份在我的家用PC上設置了查詢。我在兩臺機器上安裝了Server 2008 R2。

查詢在我的電腦上運行100%,但在服務器上運行時出現將varchar轉換爲INT的錯誤。

Iam猜測有一個設置的地方是不一樣的?我檢查了區域設置,問題不在那裏。有任何想法嗎?

回答

1

問題在於如何評估查詢。您無法保證查詢的哪些部分將被評估,因此在一臺機器上可能會發生過濾器,而在另一臺機器上可能會發生過濾器。或者可以以不同的順序評估WHERE子句條件

SQL是聲明性的,而不是程序性的。使用SQL,您可以詢問您想要的內容,並且查詢優化器會對其看起來合適的方式予以表揚。在程序語言(C#,Java等)中,你可以控制執行順序。

原因如下:Why use Select Top 100 Percent?

相關問題