SQL Programmering

De filmklip der er lavet i starten af kurset, er super gode til at komme i gang med.

Der er meget hurtig respons, når man indsender en opgave.

Man kan selv tilpasset tidspunktet for kurset, når det passer ind i den normale hverdag

Johan Hauge, EM Retail Solutions A/S

SQL Programmering

Der har været en rigtig god rødtråd mellem teori og øvelserne hele vejen igennem kursuset. Der har samtidigt været udfordrende, men uden at jeg har siddet og slået mig selv på hovedet. Thor har samtidig været online godt og vel 24/7 til at besvare på spørgsmål og hjælpe mig igennem, hvor jeg har haft det svært.

Alexander Thompson, privat

Excel VBA

Det har været godt at selv kunne bestemme farten, samt bruge al den tid man nu selv synes for at lave opgaverne.

Det har været et hårdt kursus, men jeg har virkelig lært meget og er mere rustet til at lave nye makroer, hvor jeg så selv kan gå i i VBA og lave rettelser, fordi jeg kan forstå programmet.

Margit Gravgaard Larsen, Novo Nordisk A/S

DreamWeaver CS4

Det har været rigtig godt at kunne lave opgaverne, når der har været tid og ikke have et tidspres. Det er også godt at man selv kan vælge hvilke opgaver, man vil gå mere i dybden med og hvilke man kan gå lettere hen over fordi det er noget, man ikke skal bruge senere. Også meget fint at man altid har kunnet få svar på spørgsmål. Man lærer selv at finde løsninger på diverse problemer.

Så tak for et godt kursus.

Ulla Leth, kahrius.dk

DreamWeaver CS55

En rigtig god undervisningsform hvor man kan arbejde når man er inspireret og opmærksom. Det gælder både ang. planlægning af tid og hvor i øvelserne man har brug for hjælp og svar på spørgsmål. Alt skete i mit tempo, og svar på spørgsmål var tilpasset mit niveau, så jeg kunne forstå det.

Jeg kom igennem alle de vigtige og nødvendige dele af programmet i et på forhånd planlagt forløb.

Samtidig var du ved din klippekortsordning med på mine private hjemmesider, således at jeg, efterhånden som jeg arbejdede med kurset, i praksis kunne bruge hvad jeg havde lært og fik opøvet rutine. Dermed er det for alvor lært og mine forventninger er mere end fuldt ud indfriet.

Alis Christiansen, privat

Excel VSTO

Det har naturligvis været rigtig godt, at kunne gennemgå kursus i sit eget tempo, hvilket har betydet meget for mig, da jeg så har kunne få det daglige arbejde til at passe ind.

I modsætning til en traditionel undervisningsform, hvor kurset er berammet til en fast tid og man derfor bliver nødt til, at sætte en tidsgrænse for de praktiske opgaver, har jeg kunne nørde lige så længe jeg vil, og dermed afprøve nogle flere teknikker, end der normalt er tid til.

Ved at køre kurset over flere uger, har jeg også haft tid til, at lade de nye informationer bundfælde og sætte sig bedre fast.

En rigtigt god ting har været, at jeg har kørt hele kurset på min egen (firmaet) maskine, med min egen opsætning. Har alt for ofte været på kurser ude af huset, på andre maskiner og når man så kom tilbage til ens egen pc, var det en anden opsætning, en anden version, eller andet der gjorde, at man ikke lige kunne komme igang med det man havde lært.

Jeg har kunne bruge mine hverdagsopgaver som opgaverne i kurset, hvilket jeg syntes er bedere end de normale "Hello World" opgaver.

Og så er jeg meget imponeret over den hurtige response der har været på indsendte opgaver og spørgsmål. Dejligt at jeg ikke skulle vente dage med, at kunne komme videre, men ofte i løbet af minutter eller timer.

Jan Amdi Letvad, PFA Pension

Expression Web 4

- At jeg selv kunne bestemme hvornår jeg ville arbejde med kurset.

- At jeg selv kunne bestemme hvornår og med hvad jeg ville gå ekstra i dybden.

- Det venlige 'puf', da jeg var inaktiv i længere tid.

- Den ALTID hurtige respons.

- At jeg også kunne få vejledning i spørgsmål, som ikke helt var inden for kursets emner.

Jørgen Kirkeby, Privat

< >
Se flere referencer

Funktioner til konvertering og formatering

Igen først en lille oversigt

FunktionBeskrivelse
CAST(felt AS datatype) Konverterer feltet til datatypen
CONVERT(datatype, felt, (evt. datoformat)) Konverterer feltet til datatypen,
men her med mulighed for at angive datoformatet
FORMAT(felt, format) Viser feltet i som angivet i formatet

Og vi har nok også brug for en oversigt over datatyper

 DatatypeBeskrivelse 
char(n)  Fast bredde tekst. Max 8.000 tegn 
varchar(n)  Variabel tekst. Max 8.000 tegn 
varchar(max)  Variabel tekst. Max. 1.073.741.824 tegn
text Variabel tekst. Max 2Gb tekst
nchar(n)  Fast bredde unicode tekst. Max 4.000 tegn 
nvarchar(v)  Variabel unicode tekst. Max 4.000 tegn
nvarchar(max)  Variabel unicode tekst. Max 536.870.912 tegn
ntext  Variabel unicode tekst. Max 2Gb tekst 
bit 0, 1 eller NULL 
binary(n)  Fast bredde binær streng. Max 8.000 bytes 
varbinary(n)  Variabel binær streng. Max 8.000 bytes 
varbinary(max)  Variabel binær streng. Max 2Gb data 
image  Variabel binær streng. Max 2Gb data  
tinyint  Heltal mellem 0 og 255 
smallint  Heltal mellem -32.768 og 32.767
int  Heltal mellem -2.147.483.648 og 2.147.483.647 
bigint  Heltal mellem -9.223.372.036.854.775.808 and 9.223.372.036.854.775.807 
decimal(p,s)  Tillader tal mellem -10^38 +1 to 10^38 –1.
p er antallet af ciffre i tallet - skal være mellem 1 og 38 (default er 18)
s er antallet af ciffre i tallet til højre for decialkommaet - skal være mellem 0 og p (default er 0)
numeric(p,s)  Som decimal(p,s) 
smallmoney  Beløb mellem -214.748,3648 og 214.748,3647 
money  Beløb mellem -922.337.203.685.477,5808 to 922.337.203.685.477,5807 
float(n)  Tal mellem -1,79E + 308 og 1,79E + 308. 
Brug float(24) for store tal og float(53) for meget store tal.
real  Tal mellem -3,40E + 38 og 3,40E + 38
datetime  Fra 1. januar 1753 til 31. december 9999 med en nøjagtighed på 3,33 millisekunder 
datetime2  Fra 1. januar 0001 til 31. december 9999 med en nøjagtighed på 100 nanosekunder 
smalldatetime  Fra 1. januar 1900 til 5. juni 2079 med en nøjagtighed på 1 minut 
date  Kun dato. Fra 1. januar 0001 til 31. december 9999 
time  Kun tid med nøjagtighed på 100 nanosekunder 
datetimeoffset  Som datetime2, men med tilføjelse af tidszone
timestamp  Gemmer et unikt nummer, der bliver opdateret hver gang en række bliver oprettet eller ændret.
Hver tabel kan kun have ét timestamp felt
sql_variant  Gemmer op til 8.000 bytes data af forskellig datatype - dog ikke text, ntext eller timestamp 
uniqueidentifier  Gemmer en unik identifier (GUID) 
xml  Bruges til XML formateret data. Max 2Gb 
cursor  Bruges til at gemme en markør, der bruges i database operationer 
table  Bruges til at gemme et resultatsæt til senere behandling 

Lidt eksempler

CAST og CONVERT minder rigtig meget om hinanden - vi kigger primært på CONVERT og tager et par eksempler

SELECT 
'Født: ' + CONVERT(varchar, [BirthDate]) as Fdag
FROM Employee

Prøv det og se, hvordan tekst og dato på magisk vis bliver lagt sammen.

Man kan så også skrive 

SELECT 
'Født: ' + CONVERT(varchar, [BirthDate], 105) as Fdag
FROM Employee

Prøv igen og se, at datoen nu bliver formateret, som vi gerne vil have det (tror jeg).

Det hemmelige nummer 105 har jeg fundet på siden her: http://msdn.microsoft.com/en-us/library/ms187928.aspx hvor du kan se andre interessante hemmelige numre.

FORMAT bruges til tal og datoer og det kan se sådan her ud:

SELECT 
FORMAT([BirthDate], 'dd-MM-yyyy') as Fdag,
FORMAT([VacationHours], '0.00 timer') as FerieTimer
FROM Employee

Se, hvad det giver. Nok ikke den store overraskelse...

Man kan også gøre sådan her

SELECT 
FORMAT([BirthDate], 'd', 'da-DK') as Fdag,
FORMAT([VacationHours], 'c', 'da-DK') as FerieTimer
FROM Employee

Prøv det...
Ja, det var ikke helt som forventet - 'd' står, som du nok har gættet for date og 'c' for currency - så ja, det giver ikke meget mening i denne sammenhæng...

Læs lidt mere om format her

http://technet.microsoft.com/en-us/library/hh213505.aspx

 

Når du har betalt for kurset får du adgang til øvelser til hver lektion. Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.