/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Default datatype for NULL i MSSQL
Fra : Jens Gyldenkærne Cla~


Dato : 20-11-07 16:08

Hej gruppe. Jeg vil lige dele dagens erfaring - der i hvert fald
var ny information for undertegnede.

Hvis man skal forbinde forskellige forespørgsler med union, skal
alle felterne selvfølgelig passe sammen - så langt så godt. Men
hvis man har et felt der bare skal være NULL i en af union-
forespørgslerne, så kan MSSQL ikke bare selv finde en passende
datatype ud fra de øvrige forespørgsler - NULL bliver som
udgangspunkt håndteret som en int, og hvis man så sætter det sammen
med fx en varchar, kommer der konverteringsfejl.

Rækkefølgen af forespørgslerne er underordnet - i det konkrete
tilfælde havde jeg 8 views der skulle lægges sammen i en UNION, og
jeg fik prøvet at have "NULL-børnene" placeret både først, sidst og
i midten uden at det hjalp.

Løsningen var simpel nok - et typecast af NULL, får det til at
fungere nydeligt:

   SELECT ...., CAST(NULL as varchar(10))

- men jeg var alligevel en smule overrasket.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

 
 
Peter Lykkegaard (20-11-2007)
Kommentar
Fra : Peter Lykkegaard


Dato : 20-11-07 19:37

Jens Gyldenkærne Clausen wrote:

> Løsningen var simpel nok - et typecast af NULL, får det til at
> fungere nydeligt:
>
> SELECT ...., CAST(NULL as varchar(10))
>
> - men jeg var alligevel en smule overrasket.

Jeg bruger Convert
Eg
SELECT Convert(nvarchar, NULL) AS MyField

Effekten er den samme :)

- Peter

--
Hi! I'm a .signature *virus*!
Copy me into your ~/.signature to help me spread!



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste