問題是我需要忽略數字中的流浪字母:例如19A或B417如何在MS SQL中查找奇數門牌號碼?
0
A
回答
6
到這裏看看: Extracting Numbers with SQL Server
有幾個隱藏的「疑難雜症的」那些在文章中解釋得很好。
1
這取決於您處理多少數據,但在SQL中這樣做可能會很慢。不是每個人都會同意我的看法,但我認爲所有數據處理應該在應用程序代碼中完成。
我只想把你想要的行,並在你正在處理的應用程序中進行過濾。
0
這裏要做的最簡單的事情就是創建一個CLR函數,它需要這個地址。在CLR函數中,您將獲取地址的第一部分(假設它是房屋號),應該用空格分隔。
然後,用空字符串替換任何非數字字符。
您應該有一個字符串表示一個整數,您可以傳遞給Int32類的Parse方法來產生一個整數,然後您可以檢查它是否是奇數。
我推薦使用CLR函數(假設您使用的是SQL Server 2005及更高版本,並且可以設置數據庫的兼容級別),因爲在.NET中執行字符串操作比在T-SQL中更容易。
0
假設[聯繫地址]是與它的地址欄...
Select Case Cast(Substring(Reverse(Address), PatIndex('%[0-9]%',
Reverse(Address)), 1) as Integer) % 2
When 0 Then 'Even'
When 1 Then 'Odd' End
From Table
0
我已經通過這個練習之前。最好的方法是在表格中添加一列或者添加一個輔助的可連接表格,以便爲此目的存儲推斷的數值。然後使用迭代查詢重複設置列,直到獲得足夠的準確性和覆蓋率。你最終會遇到像「第一,第三,」「451a」,「1200 South 19th Blvd East」之類的東西,甚至更糟。
然後過濾新的和編輯過的記錄。與往常一樣,應該避免UDF由於緩慢和(相對)較少的可調試性而被避免。
相關問題
- 1. 如何獲得門牌號碼與MKPlacemark
- 2. 帶schema.org微數據的門牌號碼?
- 3. 要查找JIRA查詢以查找分配的門票號碼
- 4. 查找號碼,SQL Server 2012中
- 5. 在MS SQL中查找列名稱
- 6. 查找號碼是偶數/奇數彙編
- 7. 查找號碼
- 8. 如何在MS Dynamics CRM中查找/查詢Reporting Services SQL數據庫
- 9. 查找號碼
- 10. 查找號碼
- 11. 如何在MS SQL中使用相同的數據寫兩個MS SQL代碼
- 12. 查找SQL列下一個號碼
- 13. SQL Server - 查找號碼模式
- 14. Oracle SQL查找熱門查詢
- 15. MS Access SQL代碼檢查
- 16. 從地址字符串中提取門牌號碼
- 17. 在處理訂單前檢查WooCommerce address_field_1是否包含門牌號碼
- 18. SQL查找序號
- 19. ms sql - 在數據庫中查找關係表
- 20. 查找號碼括號內
- 21. 如何查找ms訪問數據庫的字符編碼?
- 22. 如何在數組中找到奇數?
- 23. SQL查找部門最高工資
- 24. SQL查詢找到沒有部門
- 25. 查找號碼或第二大號碼
- 26. 如何查找號碼的日誌?
- 27. 我需要從varchar2數據類型中提取街道/門牌號碼
- 28. 如何在MS Access 2007中查詢sql使用DateTime查找Min&Max?
- 29. c#winform如何生成門票號碼
- 30. 如何通過JIRA中的門票名稱和門票號碼訂購門票?
你是說你想從你的例子中返回19和417? – 2009-01-05 15:31:30
我認爲這個問題是關於「奇怪」的門牌號碼,而不是像第1,3,5,7中那樣「奇怪」。 – 2009-01-05 15:32:48
我認爲他想要SQL的等價物:grep'[13579] [^ 0-9] * $' – slim 2009-01-05 15:35:00