2014-04-10 63 views
0

我有一個表有一個用戶代理字段,我想操縱而不是篩選器。我想是這樣的:在MSSQL Server 2005中的正則表達式篩選列文本

select col_a, col_b, regex("/ompatible;/.+[ ;]/", col_c) from table;

在MSSQL Server是這甚至可能嗎?

+0

您可以發佈一些示例行。也許我們可以改進你已經找到的解決方案 – wumpz

回答

0

除了安裝新東西或編寫我在生產數據庫中無法完成的一些功能之外,看起來這是不可能的。

相反,我用了CASE語句:

SELECT col_a, col_b, CASE WHEN browser_string LIKE '%MSIE 7.%' THEN 'IE7' WHEN browser_string LIKE '%MSIE 8.%' THEN 'IE8' WHEN browser_string LIKE '%MSIE 9.%' THEN 'IE9' WHEN browser_string LIKE '%MSIE 10.%' THEN 'IE10' WHEN browser_string LIKE '%MSIE ' THEN 'IExx' WHEN browser_string LIKE '%Firefox/%' THEN 'Firefox' WHEN browser_string LIKE '%Chrome/%' THEN 'Chrome' WHEN browser_string LIKE '%Safari/%' THEN 'Safari' WHEN browser_string LIKE '%bingbot%' THEN 'bingbot' WHEN browser_string LIKE '%ooglebot%' THEN 'googlebot' WHEN browser_string LIKE '%bot%' THEN 'otherbot' WHEN browser_string LIKE '%Bot%' THEN 'otherbot' ELSE 'unknown' END AS browser FROM ...

這絕不是有效的報告似乎採取年齡來運行,但它確實我需要什麼(擴展時的東西后位更多)。