Fra starten blev DB2 født med nogle indbyggede variable kaldet special registers. Op igennem årene, efterhånden som DB2 blev udbygget med mere funktionalitet, blev antallet af special registers også udvidet. I DB2 11 er der i alt 37 special registers. I DB2 version 8 besluttede IBM af uransagelige årsager at introducere en ny slags indbyggede variable kaldet built-in session variable og introducerede 11 af disse variable. Allerede i version 9 var der 33 af disse variable og antallet er det samme i DB2 11.
Som du sikkert allerede ved, så er måden at få fat på et special register ret simpel. Man skriver simpelthen <special register name> der, hvor man har brug for variablen i sit SQL. Sådan er det ikke med en built-in session variable. Her skal du i stedet skrive GETVARIABLE('<built-in session variable name>'). Et eksempel:
Dette SQL statement vil vise dig et timestamp, navnet på det program, der udfører dit SQL statement og versionsbetegnelsen for den DB2, der eksekverer dit statement. Bemærk den pudsige detalje med, at navnet på variablen skal angives i anførselstegn. Kig listen over built-in session variable igennem og se om, der er nogen special register variable, du har savnet, som gemmer sig her.