Sql-Server

批量更新地址重複的地址列,並用分隔符分隔重複項?

  • April 15, 2020

對不起,如果我的標題沒有多大意義,但我不知道如何措辭。

基本上,我導入了一個文件,其中包含 500 多家商店和有關它們的資訊。由於某種原因

$$ Address $$列導入為$$ Address ; Address $$. 有沒有辦法刪除第一個地址之後的所有內容,包括“;” 在一個查詢中? 我考慮了 REPLACE 功能,但不確定如何一次更新每條記錄,因為每個商店都有不同的地址。我將包含一個螢幕截圖,以便我的問題更有意義。有什麼建議麼?我在想,因為有一個分隔符,它可能不會太難更新,但我不知道如何更新。

任何幫助是極大的讚賞。謝謝你。

忽略之前設置的第一條記錄。

在此處輸入圖像描述

技術上使用 Progress ODBC 查詢工具。不過,我可以使用 SQL Server 2016 進行更新。

為此,您可以使用 CHARINDEX() 函式查找分號的位置,並結合 SUBSTRING() 使用分號之前的數據更新欄位。

UPDATE test_table SET addr=SUBSTRING(addr, 0, CHARINDEX(';',addr))

如果數據中有合法的分號,那麼它當然會刪除一些地址,所以請先檢查數據,確保每條記錄中只有一個分號。

引用自:https://dba.stackexchange.com/questions/264999