Jeg har efterhånden arbejdet med Microsoft SQL Server i mange år.  Da jeg første gang stiftede bekendtskab med SQL Server, hed det Microsoft SQL Server 6.5.  Siden er der kommet mindst versionerne 7, 2000, 2005, 2008 (R2), Azure og 2012 til.

Til trods for det, vil jeg på ingen måde kalde mig ekspert i hverken sproget T-SQL eller i administration af SQL Server.  Det er mere et nødvendigt onde end en lidenskab.  Jeg foretrækker dog langt mere at skrive rå SQL end en ORM, men det kan måske være et emne til et andet indlæg.

Dermed sker det heller ikke sjældent, at jeg opdager nye ting i T-SQL.  Som f.eks. forleden, da jeg faldt over keywords SOME, ANY og ALL.  Tilsyneladende blev de tre operators introduceret med SQL Server 2005, så de kan næppe kaldes nye.  Men de er altså gået min næse forbi til trods for dens størrelse.

Det sjove ved SOME og ANY er, at de fungerer på samme måde.  SOME lader til at være Microsoft’s opfindelse, mens ANY er standarden.  På dansk svarer “some” til ordet “nogle”, mens “ANY” svarer til “nogen”.  Ordet “any” (og “nogen”) bruges i negeringer og i spørgsmål, så måske har Microsoft tænkt, at man skal bruge ANY i kombination med NOT (altså en negering):

SELECT ...
FROM Tabel
WHERE Kolonne > SOME(SELECT ...)

SELECT ...
FROM Tabel
WHERE NOT Kolonne > ANY(SELECT ...)

Jeg har i dag valgt at lancere det nye design af styrdindiabetes.dk.  Tag godt i mod det.

Godt nytår til jer alle.