从sql

时间:2016-07-07 08:16:59

标签: sql sql-server

sql server 2008

我的列中的数据类似于

"Brake pad kit, disc brake"
/Brake disk (sold separately).
"The belt pulley, crankshaft"
 Fuel Pump

特殊字符是"",空格,/

我想删除字符串开始结束中的任何特殊字符或空格

这可能在sql中做,不确定。 请分享您的想法。

1 个答案:

答案 0 :(得分:2)

这是使用字符串函数

执行此操作的一种方法
DECLARE @str VARCHAR(200)= '"The belt pulley, crankshaft"' 

SELECT Reverse(CASE 
                 WHEN LEFT(Reverse(scd_str), 1) LIKE '[A-Z]' OR LEFT(Reverse(scd_str), 1) LIKE '[a-z]' THEN Reverse(scd_str) 
                 ELSE Substring(Reverse(scd_str), 2, Len(Reverse(scd_str))) 
               END) 
FROM   (SELECT CASE 
                 WHEN LEFT(string, 1) LIKE '[A-Z]' OR LEFT(string, 1) LIKE '[a-z]' THEN string 
                 ELSE Substring(string, 2, Len(string)) 
               END AS Scd_Str 
        FROM   (SELECT Rtrim(Ltrim(@str)) AS string) A) B 

结果: The belt pulley, crankshaft