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

Как да премахнете конкретен знак от низ, само когато е първият или последният знак в низа.

Един от начините за справяне с "подрязване" на запетаи като този би бил използването на CASE изявление:

CASE
    WHEN str LIKE ',%,' THEN SUBSTRING(str, 2, LEN(str)-2)
    WHEN str LIKE ',%'  THEN RIGHT(str, LEN(str)-1)
    WHEN str LIKE '%,'  THEN LEFT(str, LEN(str)-1)
    ELSE str
END

Това до голяма степен се обяснява само по себе си:CASE изразът разглежда три ситуации -

  • Когато низът str има запетаи от двете страни,
  • Когато низът str започва със запетая, но не завършва със запетая, и
  • Когато низът str завършва със запетая, но не започва със запетая.

В първия случай първият и последният символ се премахват; във втория случай най-левият знак се премахва; в последния случай знакът в края се премахва.

Демо на sqlfiddle.



  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 от PHP

  2. Разберете защо имейл не успя да се изпрати в SQL Server (T-SQL)

  3. Не може да се запишат данни в транспорта. Vs2017 ASP.net основно скеле (MSSQL WINDOW 10)

  4. Не може да се компилира SSIS компонент; Липсващо сглобяване във Visual Studio 2008

  5. sql изявление за използване с променлива