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

Премахване на завършващ знак от ред в SQL таблица

Можете да използвате НЕЩА функция, която замества части от низ. В този случай това е последният знак.

UPDATE tbl
SET COL = stuff(COL, len(COL), 1, '')
WHERE COL > ''

Или използвайте НАЛЯВО, като вземете всички освен последния. Условието COL> '' гарантира, че LEFT ще има валидна дължина. LEFT е пряк път в SQL Server и изглежда е реализиран като SUBSTRING ( вижте по-долу)*

UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE COL > ''

Ако имате и двете данни със и без точка и запетая в края, можете да ги насочите конкретно

UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE RIGHT(COL,1) = ':'

Ето плана на заявката за заявка, използваща НАЛЯВО (показват се само първите 3 реда от текстовия план)

select LEFT(text, LEN(text)-1), * from master..syscomments


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използвайки SSIS, как да намеря градовете с най-голямо население?

  2. SSMS версия 18 – няма диаграми на база данни

  3. Има ли начини да добавите 2 таблици, когато използвате оператора INSERT в конструктора на заявки?

  4. Разлика между различните типове низове в SQL Server?

  5. Правилен ред на инсталиране за Visual Studio 2010 с SQL Server 2008 и Office 2007?