sql >> Databáze >  >> RDS >> Sqlserver

Odstraňte koncový znak :z řádku v tabulce SQL

Můžete použít STUFF funkce, která nahrazuje části řetězce. V tomto případě je to poslední znak.

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

Nebo použijte LEFT a vezměte všechny kromě posledního. Podmínka COL> '' zajišťuje, že LEFT bude mít platnou délku. LEFT je zkratka na serveru SQL Server a zdá se, že je implementována jako SUBSTRING ( viz dále níže)*

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

Pokud máte data s koncovým středníkem i bez něj, můžete na ně cílit konkrétně

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

Zde je plán dotazů pro dotaz pomocí LEFT (zobrazeny jsou pouze horní 3 řádky textového plánu)

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


  1. jak přizpůsobit `show processlist` v mysql?

  2. Jak zachovat proměnné php z předchozí stránky po odeslání formuláře

  3. Jak získat pozici shody regulárních výrazů v řetězci v PostgreSQL?

  4. Získávání Nelze se připojit k místnímu serveru MySQL prostřednictvím chyby soketu '/var/run/mysqld/mysqld.sock' při nastavování databáze mysql pro aplikaci Ruby on Rails