![](/img/trans.png)
[英]How to: Select from MYSQL text field type only the numbers that divided by | using REGEXP?
[英]How to remove -XXXX from Zip Code field using MySQL REGEXP?
有人可以給我一個示例,說明如何使用SQL命令刪除郵政編碼字段中的破折號“-”后的所有內容嗎?
例如,更改以下任何一項:
XXXXX-X
XXXXX-
XXXXX-XX
XXXXX-XXXX
對此:
XXXXX
感謝您的示例。 我還需要刪除數據庫中“-”,“-X”,“-XXXX”等的所有實例,因此郵政編碼僅包含5位數字,有人可以提供此示例嗎?
假設您的字段名為zip
,則只需執行以下操作:
SELECT SUBSTRING_INDEX(zip, '-', 1) as zip
那會返回你想要的。
要更新表上的數據,您可以執行以下操作:
update table set zip = SUBSTRING_INDEX(zip, '-', 1) where condition = foo
這將只更新符合某些條件的記錄,如果要全部更新,則刪除where
部分
除了使用正則表達式,還可以使用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 =
而不是覆蓋主數據-只是要確保它不會首先引起任何錯誤(如果可行)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.