Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да замените първия и последния знак на колона в sql сървър?

Можете да използвате SUBSTRING за това:

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

Очевидно дори по-добрият подход би бил да не се поставят начални и завършващи запетаи там на първо място, ако това е опция.

Изразът става малко по-сложен, но идеята остава същата:

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 ...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция за форматиране на датата на SQL Server

  2. CONTAINSTABLE заместващ знак е неуспешен при съвпадение по фраза?

  3. Как да разбера дали даден низ съдържа поне число?

  4. Как мога да оптимизирам/рефакторирам TSQL клауза LIKE?

  5. Как да копирате база данни на sql сървър от един на друг сървър без архивиране