簡體   English   中英

SQL搜索和替換僅在一個表的一個列中

[英]SQL Search & Replace in only ONE Column on ONE Table

我一直在構建Magento網站,並且SKU列表在自動化方面有些不穩定。 我目前正在通過phpMyAdmin並從SKU的末尾刪除“ YRS ”和“ MO ”,而不是在管理員中打開每個產品並保存在那里。

我想找到一種自動化的方法。 我只需要從一張表中搜索一列,然后替換/擦除“ YRS ”和“ MO ”,即可將“ 10-2354-03 / 06 MO ”有效地轉換為“ 10-2354-03 / 06

我在想類似“搜索> catalog_product_entity * sku | for | YRS MO |替換||”之類的東西 (我不知道SQL查詢,所以請原諒我這種被黑的編碼)

捕獲前面的空間並不是完全必要的,但是在以后需要添加某些內容的情況下將很有用。 還有其他變量,因此具有“用YYYY替換XXX”的功能會很棒:)

我可以運行任何簡單的查詢來做到這一點嗎?

表是“ catalog_product_entity”,列是“ sku”

此更新語句應執行以下操作:

update catalog_product_entity
   set sku = trim(trailing ' YRS' from trim(trailing ' MO' from sku))

如果要在select語句中對其進行測試,請運行:

select trim(trailing ' YRS' from trim(trailing ' MO' from sku))
from   catalog_product_entity

請參閱sql小提琴測試: http ://sqlfiddle.com/#!2 / 699ce / 2/0

(從字符串末尾刪除“ MO”或“ YRS”)

史蒂文

如果這是MSSQL Server,則應該可以使用如下所示的內容:

更新YOUR_TABLE_NAME

設置catalog_product_entity = replace(catalog_product_entity,'MO','')

來自YOUR_TABLE_NAME

在運行更新語句之前,請嘗試僅運行一次select來將原始值與新值進行比較。 像這樣:

從YOUR_TABLE_NAME中選擇catalog_product_entity,替換(catalog_product_entity,'MO','')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM