Trim-Funktionen in SQL Server 2005/2008

Zumindest wenn man mit dem SQL Server von Microsoft als Datenbank arbeitet, gibt es einen kleinen Fallstrick hinsichtlich nicht vorhandener TRIM()-Funktion. Diese in fast allen Sprachen implementierte und oft benutzte Standard-Funktion gibt es nämlich ärgerlicherweise einfach nicht (Stand SQL Server 2005/2008). Es gibt nur die beiden Funktionen LTRIM() und RTRIM(), die eben die leading beziehungsweise die trailing spaces entfernen. Es wird also Lösung empfohlen beide Funktionen zu benutzen, schön ist natürlich aber was anderes:

LTRIM(RTRIM(string))

Einen Feature-Request dazu gibt es schon. Alternativ dazu gibt es unter http://sqltrim.codeplex.com/ eine angepasste Funktion, um TRIM() benutzen zu können, ist für SQL Server 2005/2008 benutzbar.

MS SQL: alle Indizes einer Datenbank per SQL abfragen

Abteilung praktische Tipps: mit folgendem SQL kann man sich fix alle Indizes einer MS SQL Datenbank auslesen:

SELECT i.object_id, i.name, o.name
FROM sys.indexes as i, sys.objects as o
WHERE i.name not like 'queue%'
and i.object_id = o.object_id
AND o.name NOT like 'sys%'

Sehr praktisch und sehr übersichtlich, wenn man schnell sehen kann, auf welcher Tabelle welcher Index liegt. Kann man echt oft brauchen, war mir sofort ein Snippet wert.

Reblog this post [with Zemanta]