更換所有的空間出現在一個表中我如何寫一個SQL查詢來代替空間所有出現下劃線的表,而無需編寫單獨的語句爲每列?SQL查詢以下劃線
回答
UPDATE [表名] SET [FIELD_NAME] =替換([FIELD_NAME], ' ' '_'),[欄位2] =替換([欄位2],'', '_')
然而,這樣,你還是要每列總而言之,上面的回答可能更適合您的需要
+1 400K行應該不會構成太大的問題。我不知道他想要t o如果有> 1個連續空間的值,請執行操作? – 2009-12-03 11:25:56
什麼單引號? – Fionnuala 2009-12-03 11:35:38
您可以使用和VBA的混合物SQL:
Dim rs As DAO.Recordset
Dim db As Database
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM TheTable")
For i = 0 To rs.Fields.Count - 1
''You may wish to check dbMemo as well as dbText
If rs.Fields(i).Type = dbText Then
''You have to watch out for single quotes as well as spaces
s = "UPDATE TheTable SET [" & rs.Fields(i).Name & "] = " _
& "Replace(Replace([" & rs.Fields(i).Name & "],""''"",""'""),"" "",""_"") " _
& "WHERE Instr([" & rs.Fields(i).Name & "],"" "")>0 " _
& "AND [" & rs.Fields(i).Name & "] Is Not Null"
db.Execute s, dbFailOnError
Debug.Print db.RecordsAffected
End If
Next
其實,這混合物包括Access對象模型太微妙但卻是事實。 Access數據庫引擎SQL缺少Replace()函數,並且必須由Access對象模型提供。如果您嘗試從Access UI外部執行此操作,那麼您的SQL將因語法錯誤而失敗。 – onedaywhen 2009-12-04 09:00:46
有時候,你並不需要一個錘子(代碼)即使問題看起來像釘子。
如果這是一個一次性的任務,該表是不超過幾百萬行,你可以打開表,並做了查找和從訪問編輯菜單(或Ctrl-H)取代了。
這是訪問的那些方便的數據處理能力,使得它這麼混賬的臨時數據庫的工作有用的。
注意事項:
(1)性能將不會對大表很大,但在中等大小的表非常適用於一次性的數據清除任務(或當你願意等待幾分鐘吧(2)這種技術創建的鎖具有一定的壓迫性,所以對於大量用戶主動使用的數據庫,建議不要這樣做。
使用查找和替換移動通過數據,這將是數量級比使用SQL UPDATE語句慢的順序一行接一行。 -1的建議,除了幾千行或更少的表格外,其他任何東西都不可行。 – 2009-12-05 00:59:40
該OP明確指出,他只有幾千行,我的回答特別包括免責聲明,它只是用於較小的表格。大衛,你還想要什麼? – JohnFx 2009-12-05 01:08:12
另外,如果是一次性的(我也提到了),那麼性能可能不是一個大問題。我已經在具有數百萬行的表上完成了這項工作。不過,我會再加一個警告,這個在桌子上的鎖定非常殘酷,所以我會避免在有很多其他用戶的情況下。儘管如此,它在數據分析類型項目中的作用非常好。 – JohnFx 2009-12-05 01:09:53
- 1. MySQL查詢以下劃線替換列中的空格
- 2. 需要以下SQL查詢:
- 3. 操縱以下劃線
- 4. 如何查找以下SQL查詢?
- 5. 如何從查詢結果中縮短長下劃線在sql server 2005中
- 6. 檢查以下劃線開頭的屬性可以嗎?
- 7. 有線sql查詢
- 8. SQL插入值小寫和下劃線
- 9. 下劃線_.clone()不適用於解析JS SDK複合查詢
- 10. 春季孟戈查詢集合屬性與下劃線字符
- 11. 誰添加「_」單下劃線查詢參數?
- 12. 逃生下劃線的列名在訪問ODBC查詢
- 13. 轉義字符在Ruby on Rails的下劃線查詢
- 14. 如何加快以下sql查詢?
- 15. 用於以下模式的SQL查詢
- 16. 如何編寫以下SQL查詢?
- 17. 以下輸出的SQL查詢?
- 18. SQL查詢,產生以下結果
- 19. SQL查詢來解決以下
- 20. SQL查詢-join得到以下結果
- 21. SQL查詢返回以下結果集
- 22. SQL Server如何處理以下查詢?
- 23. 以下可能在SQL查詢
- 24. 以下輸出的Oracle SQL查詢?
- 25. Sql下拉查詢
- 26. 下劃線查找嵌套對象
- 27. NetBeans。禁用錯誤檢查下劃線
- 28. 流過濾方法以下劃線
- 29. 匹配除了以下劃線
- 30. 以下劃線爲前綴的變量
只需要做它在一毫秒的存取如果VBA代碼可以做到這一點它會適合我的選擇。請注意,該數據庫是在訪問約4十萬條記錄 – silverkid 2009-12-03 11:10:54