有人可以給我一個例子,說明如何使用SQL命令在郵政編碼字段中輸入破折號「 - 」後的任何東西嗎?如何使用MySQL REGEXP從Zip Code字段中刪除-XXXX?
例如,更改任何這樣的:
XXXXX-X
XXXXX-
XXXXX-XX
XXXXX-XXXX
這樣:
XXXXX
感謝您的例子。我還需要刪除數據庫中「 - 」,「-X」,「-XXXX」等的任何實例,以便郵政編碼只包含五位數字。有人可以舉一個例子嗎?
有人可以給我一個例子,說明如何使用SQL命令在郵政編碼字段中輸入破折號「 - 」後的任何東西嗎?如何使用MySQL REGEXP從Zip Code字段中刪除-XXXX?
例如,更改任何這樣的:
XXXXX-X
XXXXX-
XXXXX-XX
XXXXX-XXXX
這樣:
XXXXX
感謝您的例子。我還需要刪除數據庫中「 - 」,「-X」,「-XXXX」等的任何實例,以便郵政編碼只包含五位數字。有人可以舉一個例子嗎?
而不是使用正則表達式,你可以使用MySQL的SUBSTRING_INDEX()
方法:
SELECT SUBSTRING_INDEX(zip_code, '-', 1) FROM your_table
編輯(支持更新)
UPDATE your_table SET zip_code = SUBSTRING_INDEX(zip_code, '-', 1);
我建議創建第二列,也許zip_code_short
運行SET zip_code_short =
而不是覆蓋主要DAT一個 - 只是爲了確保它不會首先導致任何錯誤(如果可行)。
鑑於您字段命名爲zip
,然後就這樣做:
SELECT SUBSTRING_INDEX(zip, '-', 1) as zip
,將返回你想要什麼
要更新表中的數據,你可以這樣做:
update table set zip = SUBSTRING_INDEX(zip, '-', 1) where condition = foo
這將只更新記錄匹配的一些條件,如果要全部更新刪除where
部分
謝謝。請參閱我上面的帖子更新。我還需要一種方法將其從數據庫中的條目中刪除(而不僅僅是選擇)。 – Zoolander
謝謝。請參閱我上面的帖子更新。我還需要一種方法將其從數據庫中的條目中刪除(而不僅僅是選擇)。 – Zoolander
@Zoolander更新回答支持'UPDATE' – newfurniturey