後,我有一個郵政編碼一張大桌子,但他們都像長格式:06608-1405MySQL的替代號碼連字符
我要求是刪除連字符和連字符後的數字。我以前使用MYSQL REPLACE,但不知道如何使用通配符。
爲你喝彩的時候。
Ĵ
後,我有一個郵政編碼一張大桌子,但他們都像長格式:06608-1405MySQL的替代號碼連字符
我要求是刪除連字符和連字符後的數字。我以前使用MYSQL REPLACE,但不知道如何使用通配符。
爲你喝彩的時候。
Ĵ
如何使用SUBSTRING_INDEX:
select SUBSTRING_INDEX(ZIP, '-', 1);
編輯:
要更新表:
Update <table-name> set ZIP = SUBSTRING_INDEX(ZIP, '-', 1);
如果連字符之前的數字都是相同的長度(5),你可以做SUBSTRING(zip, 0, 5)
甚至SUBSTRING(zip, 0, LOCATE('-', zip))
或者LEFT(zip, LOCATE('-', zip))
如果你想跟隨其他建議,這是製作。
使用左側的組合()的INSTR()函數
http://dev.mysql.com/doc/refman/5.1/en/string-functions.html
即
select left('12345-6789', instr('12345-6789', '-') - 1)
返回
12345
(可以/應當細化到僅如果instr()返回一個非零值,則執行left()操作。
編輯:刪除連字符等用途:
update my_table
set my_col = left(my_col, instr(my_col, '-') - 1)
乾杯,但我真的需要它後刪除連字符和數字。 – 2010-01-19 10:53:25
如果他們都郵政編碼(即5位數字,連字符,4位數字),你可以使用:
mysql> SELECT LEFT(table.zip_code, 5); // (06608-1405 -> 06608)
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_left
這工作完美,但他們仍然在分貝你知道如何刪除後面的連字符和數字嗎? – 2010-01-19 11:04:44
乾杯,codaddict!發揮魅力。好一個。 – 2010-01-19 11:20:57