TSQL last changes

Simpel, logisch,… aber dennoch suche ich selbst immer wieder danach: Wie finde ich raus, welche Stored Procudures oder Funcions zuletzt geändert wurden.

SELECT name, create_date, modify_date, DATEDIFF( HOUR, modify_date, GETDATE()), type
FROM sys.objects
-- WHERE type IN ( 'P', 'FN' )
ORDER BY modify_date DESC

🙂

Padding von Strings in TSQL

Von den hunderten Varianten, einen String links- oder rechtsseitig mit Leerzeichen aufzufüllen, konnte ich nun endlich eine finden, die nicht nur elegant aussieht, sondern auch eine varialble Länge zulässt. Der Zauberschlüssel hierzu nennt sich SPACE()

DECLARE @s NVARCHAR(10) = 'TEST'    -- Ausgangsstring
DECLARE @l INT = 20                 -- Länge des Gesamtstrings

SELECT RIGHT( SPACE(@l) + @s, @l )
-- Ergebnis: '                TEST'
SELECT REPLACE( RIGHT( SPACE(@l) + @s, @l ), ' ', 'X' )
-- Ergebnis: 'XXXXXXXXXXXXXXXXTEST'
SELECT LEFT( @s + SPACE(@l), @l )
-- Ergebnis: 'TEST                '
SELECT REPLACE( LEFT( @s + SPACE(@l), @l ), ' ', '#' )
-- Ergebnis: 'TEST################'

 

 

UPDATE mit JOIN unter MSSQL

Eine Sache, die im SQL-“Standard” überall ein wenig anders ist, ist das UPDATE unter Einbezug einer zweiten Tabelle:

UPDATE T1
SET T1.articleNumber = T2.articleId
FROM TableOne T1
JOIN TableTwo T2 ON T2.id = T1.id