[英]GraphDatabase (Neo4J) vs Relational database (MySql) - query on specific column of a specific table
[英]MySql : query to format a specific column in database table
我在數據庫表中有一列名為phone_number的列,現在存儲在表中的數字格式如ex。+ 91-852-9689568。我想對其進行格式化,只需要數字即可。 我該如何在MySql中做到這一點? 我已經嘗試過使用REGEXP之類的功能,但是它會顯示錯誤,例如功能不存在。而且我不想使用多個REPLACE。
選項之一是使用mySql substring
。 (只要格式不變)
SELECT concat(SUBSTRING(pNo,2,2), SUBSTRING(pNo,5,3), SUBSTRING(pNo,9,7));
如果您只想通過投影進行格式化,請使用SELECT
,則只需使用一次replace即可,這沒有問題。
SELECT REPLACE(REPLACE(columnNAme, '-', ''), '+', '')
FROM tableName
否則,如果要永久更新該值,請使用UPDATE。
UPDATE tableName
SET columnName = REPLACE(REPLACE(columnNAme, '-', ''), '+', '')
MySQL沒有用於模式匹配和替換的內置函數。
您最好將整個字符串取回您的應用程序,然后在其上使用更靈活的字符串操作函數。 例如,PHP中的preg_replace()。
請嘗試以下內容並發表評論。
Select dbo.Regex('\d+',pNo);
Select dbo.Regex('[0-9]+',pNo);
參考RUBLAR 。
因此,MYSQL與Oracle不同,因此您可以僅使用USer defined Function to get numbers
。 這可以幫助您前進。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.