短的一點是:T-SQL搜索在字符串特定的詞
「我使用SQL服務器管理器2008 R2我有列的表格。‘產品名稱’和‘產品尺寸’的大小。該產品被記錄在他的名字那樣:
ELLAS廚房蘋果&姜嬰兒餅乾120克
ELLAS廚房蘋果,葡萄乾 'N' 肉桂Bakey Bakies 4×12克
彈PLAST噴霧石膏32.5毫升
ELLAS廚房階段1南瓜每個
此產品的尺寸應該是:
120克
4×12克
32.5毫升
N/A
(部分產品可以在那裏的名字沒有大小,應設置爲「N/A」)
我想寫的是更新產品尺寸從得到它的T-SQL語句產品名稱。
我已經在JavaScript中做了這個,但爲了做正確的事情,我必須編寫SQL語句,這是我的問題。我發現在T-SQL中使用「正則表達式」非常困難。
我見過如何從字符串中獲取數字的例子,但不知道如何使用sql。
Declare @ProductName varchar(100)
Select @ProductName= 'dsadadsad15234Nudsadadmbers'
Select @ProductName= SubString(@ProductName,PATINDEX('% [0-9]%',@ProductName),Len(@ProductName))
Select @ProductName= SubString(@ProductName,0,PATINDEX('%[^0-9]%',@ProductName))
Select @ProductName
我會欣賞任何示例或想法。 提前致謝。
編輯:
感謝您的回覆,xQbert。
我沒有包括所有可能的格式,因爲如果我有一個很少有人的工作例子,我想我將能夠爲所有人做。不管怎樣,在這裏爲了提供更多的細節都是可能的情況:
(i編號+ 「X」 + Dnumber +字)* +(_)* +(Dnumber +字)* - *表示0或更
其中字可以是 - 克,千克,毫升,CL,包 其中i編號是整數 其中Dnumber是雙 其中_是空間
對於〔實施例:
12×100克 100毫升 2×千克
而且價格(如果有的話)總是在名稱的末尾:
產品名稱+產品獎
例如:
Organix有機有機鷹嘴豆&紅辣椒烤寬麪條190g Organix有機蔬菜&豬燴飯250g Organix大米蛋糕蘋果50g Organix麪包7m + 6包 Organix鹹味餅乾車ESE &洋蔥每個 Organix有機鹹餅乾番茄&羅勒每個 Organix有機階段1個壁球&雞2×120克
你有沒有列出所有可能的尺寸的表?沒有這種或標準的格式,我看不到通過自動化完成任務的方法。我們可以按照猜測和檢查方法來消除一些手動工作;但沒有模式,沒有辦法達到你想要的結果。 (爲什麼不是最後一個「每個」的大小)? – xQbert 2012-01-02 13:58:24