亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從MySQL查詢的字符串中提取數值?

如何從MySQL查詢的字符串中提取數值?

LEATH 2019-11-02 13:33:30
我有一個包含兩列的表:price(int)和price_display(varchar)。price是實際的數字價格,例如“ 9990”price_display是視覺表示,例如“ $ 9.99”或“ 9.99Fr”我已經能夠通過regexp確認兩列是否匹配:price_display不是regexp格式(price / 1000,2)但是在不匹配的情況下,我想從price_display列中提取值并將其設置為price列,所有這些都在update語句的上下文中。我還不知道怎么做。謝謝。
查看完整描述

3 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

一種方法是使用REPLACE()函數:


UPDATE my_table

SET    price = replace(replace(replace(price_display,'Fr',''),'$',''),'.','')

WHERE  price_display not regexp format(price/1000, 2);

這適用于您提供的示例數據:


'$9.99'

'9.99Fr'

在我的測試中,兩者均得出999。通過這樣的更新,重要的是要確保首先備份數據庫,并了解項目的格式。通過執行以下查詢,您可以看到所有“壞人”:


SELECT   DISTINCT price_display

FROM     my_table

WHERE    price_display not regexp format(price/1000, 2)

ORDER BY price_display;


查看完整回答
反對 回復 2019-11-02
  • 3 回答
  • 0 關注
  • 978 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號