我在數據庫表中有一個列名phone_number.Right現在存儲在表中的數字格式如ex。+ 91-852-9689568.我想格式化它只需要數字。我怎樣才能在MySql中做到這一點?我曾嘗試使用像REGEXP這樣的函數,但它顯示錯誤,如函數不存在。而且我不想使用多個REPLACE。MySql:查詢格式化數據庫表中的特定列
回答
其中一個選項是使用mySql substring
。 (只要格式不改變)
SELECT concat(SUBSTRING(pNo,2,2), SUBSTRING(pNo,5,3), SUBSTRING(pNo,9,7));
如果要通過投影僅格式化,使用SELECT
,你只需要使用替換兩次,並用沒有問題。
SELECT REPLACE(REPLACE(columnNAme, '-', ''), '+', '')
FROM tableName
否則,如果要更新永久值,使用UPDATE
UPDATE tableName
SET columnName = REPLACE(REPLACE(columnNAme, '-', ''), '+', '')
哇你已經得到了* Monarch * :) – bonCodigo
PS:「我不想使用多個REPLACE。」 –
@ TJ-我讀到了。但我想它使用'substring'好得多。它非常靈活。如果價值觀的模式不一樣呢?無論如何'OP'還有待選擇。 –
MySQL沒有進行模式匹配內置函數和替換。
您最好將整個字符串提取回應用程序,然後使用更靈活的字符串操作函數。例如,PHP中的preg_replace()。
請嘗試以下操作並發表評論。
Select dbo.Regex('\d+',pNo);
Select dbo.Regex('[0-9]+',pNo);
參考RUBLAR。
因此,MYSQL不像甲骨文,因此您可能只使用USer defined Function to get numbers
。這可能會讓你去。
- 1. 如何格式化SQL查詢中mysql數據庫的日期
- 2. 格式化MySQL查詢數據到自定義陣列
- 3. 從PDO格式化數據Mysql查詢
- 4. Webmatrix - 格式化MSSQL數據庫查詢
- 5. 如何從mysql查詢中以特定格式檢索數據?
- 6. 格式化表格MySQL查詢
- 7. 在數據庫的未知表格中查找特定列?
- 8. 轉換數據庫查詢的未知格式到MySQL查詢
- 9. MySQL數據庫表查詢
- 10. 優化特定查詢mysql
- 11. 從Mysql中的特定數據庫的特定表中導出特定列
- 12. 格式列數據查詢
- 13. 格式化PHP/HTML中的MySQL查詢
- 14. 查詢從數據庫表到json的特定列
- 15. MySQL數據庫設計 - 特定案例,列或附加表格?
- 16. 以特定方式從數據庫行格式化數組?
- 17. 如何使用特定列中的HTML內容查詢數據庫表格中的模式?
- 18. 優化MySQL數據庫查詢
- 19. 優化MySQL數據庫查詢
- 20. MySQL查詢和優化數據庫
- 21. 如何優化MySQL數據庫/查詢
- 22. 優化MySQL查詢/數據庫
- 23. 優化SQL查詢在MySQL數據庫
- 24. PHP表單到mySql數據庫中。數組格式化問題
- 25. 將mysql查詢應用到數據庫中的每個表格
- 26. MySQL - 從數據庫中選擇特定的表格
- 27. 在查詢中列出特定數據
- 28. SQL查詢特定格式
- 29. 在mysql數據庫中列出表格
- 30. 將mysql數據庫轉換爲特定格式的php數組
猜你最好用一個小'功能'去掉數字;)因爲你不想用兩個'replace'..雖然那是最好的... – bonCodigo