sql - 如何替换sql server中列的第一个和最后一个字符?

标签 sql sql-server-2008

我有一个数据库列,它给出一个字符串,如 ,Recovery, Pump Exchange, .

我想从字符串中删除第一个和最后一个逗号。

预期结果:Recovery, Pump Exchange .

最佳答案

您可以使用 SUBSTRING 为了那个原因:

SELECT
    SUBSTRING(col, 2, LEN(col)-2)
FROM ...

显然,如果这是一个选项,更好的方法是不首先将前导和尾随逗号放在那里。

I want to remove last and first comma only if exist otherwise not.



表达式变得有点复杂,但思想保持不变:
SELECT SUBSTRING(
    col
,  CASE LEFT(@col,1) WHEN ',' THEN 2 ELSE 1 END
,  LEN(@col) -- Start with the full length
             -- Subtract 1 for comma on the left
      - CASE LEFT(@col,1) WHEN ',' THEN 1 ELSE 0 END 
             -- Subtract 1 for comma on the right
      - CASE RIGHT(@col,1) WHEN ',' THEN 1 ELSE 0 END
)
FROM ...

关于sql - 如何替换sql server中列的第一个和最后一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22352610/

相关文章:

sql - 定义索引 : Which Columns, 和性能影响?

MySQL-日期-时间戳

SQL 表别名 - 好还是坏?

xml - sql中查询xml列的方法

sql-server - TRUNCATE 与 DELETE FROM 的优缺点

sql-server - 如何在 SQL Server 中获取累积和(与过去的总和)

sql - 为什么 IN 运算符在传递重复值(value1、value1 ....)时返回不同的选择

sql - 选择查询在其类别(组)下至少有一个非空值时选择行

SQL:从这样的数据中获取周期开始和结束日期时间?我正在努力解决的棘手的小难题

mysql - SQL查询帮助: How can i get the column value from other table?