我在SQL命令方面很新穎,請隨身攜帶。從一列到另一列交換一部分值?
我有一個表:
dbo.Product
兩列:
SKU Name
--- ----
100A-B (F102397) 1 AFFF C-103
我想和名稱的發佈一部分交換SKU(100A-B) (F102397),在SKU列中沒有括號。
所以它會像:
SKU Name
--- ----
F102397 (100A-B) 1 AFFF C-103
而只是供參考,在「名稱」列不總是一致的。這意味着它不會總是像「1 AFFF C-103」。有時它可以是「1AFFFC-103」或「1AFFF C-103」等等,但具有不同的值。如果有空格/空格,你需要擔心下半場嗎?
反正這麼做?任何幫助將不勝感激。 :) 我與SQL-Server 2005的
** 編輯 **
更多的例子,我嘗試從它獲得工作。
大部分數據看起來像這樣的例子。它與一些SKU的空間混亂,但這是我沒有改變的選擇。
而我將()保留在「名稱」字段中。
SKU Name
--- ----
100A-B (F102397) 1 AFFF C-103
101 A-F (F011889) TEST ITEM
101 U-X (F060796) TEST ITEM 2
102A-B (F102497) TEST ITEM 3
結果
SKU Name
--- ----
F102397 (100A-B) 1 AFFF C-103
F011889 (101 A-F) TEST ITEM
F060796 (101 U-X) TEST ITEM 2
F102497 (102A-B) TEST ITEM 3
你想提取/交換的部分總是在括號內? – 2012-02-16 17:16:08
看起來正則表達式在SQL Server中會很有用的另一個原因。這絕對可以通過'PATINDEX','SUBSTRING'和'REPLACE'來完成。這不會很困難,但會變得很難看。在我們提供示例之前,或許您可以提供更多關於您需要完成的細節,以便有更好的方法去實現它。 – 2012-02-16 17:22:45
我同意其他意見......請提供其他示例,以便我們瞭解範圍。同樣,如果任一列可爲空,或者可能不包含括號或用於標識子字符串的其他任何條件,請包括這些示例並說明在這些情況下應該做什麼。這很容易解決規則,然後來所有的例外,這是每個人更多的工作... – 2012-02-16 17:28:09