我自學T-SQL,所以我確信我可以在編寫代碼時獲得高效率,因此即使與此特定問題無關,也歡迎任何指針。在T-SQL腳本中檢查錯誤
我在寫夜間例程時遇到問題。創建初始數據的數據庫程序超出了我的控制範圍,而且編寫鬆散,所以我有不良數據可能會不時地炸燬我的腳本。我正在尋找幫助,將錯誤檢查添加到我的腳本中,因此我失去了一條記錄,而不是整個事情被炸燬。
的代碼看起來是這樣的:
SELECT convert(bigint,(SUBSTRING(pin, 1, 2)+ SUBSTRING(pin, 3, 4)+ SUBSTRING(pin, 7, 5) + SUBSTRING(pin, 13, 3))) AS PARCEL, taxyear, subdivisn, township, propclass, paddress1, paddress2, pcity
INTO [ASSESS].[dbo].[vpams_temp]
FROM [ASSESS].[dbo].[Property]
WHERE parcelstat='F'
GO
的問題是在此第一部分,其中所述級聯發生。我試圖將這個字符串(11-1111-11111.000)轉換成這個數字(11111111111000)。如果他們正確地輸入了他們的數據,那麼在正確的位置上正確的點和數字就會有標點符號。如果他們犯了一個錯誤,那麼我會在錯誤的地方出現標點符號,並創建一個不能轉換爲數字的字符串。
我的建議是將字符串放入臨時表中。然後擺脫連字符和句點。最後,只使用那些整數的字符串。 –