webForumDet fria alternativet

datum

7 svar · 206 visningar · startad av Nöff

NöffMedlem sedan nov. 2003569 inlägg
#1

tjena.

jag undrar varför det inte är någon skillnad på följande:

<= '2004-03-19'
<'2004-03-19'

dom outputtar exakt samma grejer.

?

lenizMedlem sedan aug. 2001676 inlägg
#2

Är du säker på att du har något som ska skrivas ut om datumet är just 2004-03-19?

Om inte är det ju logiskt att det kommer ut samma saker.

Mvh Lena

NöffMedlem sedan nov. 2003569 inlägg
#3

jag har testat.

<= ska ju vara mindre än eller lika med, alltså ska den outputta 18,19
< ska vara mindre än, alltså ska den outputta 18.

men bägge outputtar alla datum början från 18 och neråt. (<= outputtar alltså inte 19).

LarsGMedlem sedan dec. 200012 465 inlägg
#4
<= '2004-03-19 23:59:59'
NöffMedlem sedan nov. 2003569 inlägg
#5

hehe.
men tycker inte ni det är underligt att <= är ger samma resultat som <?

LarsGMedlem sedan dec. 200012 465 inlägg
#6

Det beror på ditt datainnehåll (naturligtvis).

NöffMedlem sedan nov. 2003569 inlägg
#7

Ja men "<=" har ju alltid varit "mindre än eller lika med".
tex: "10<=" ger ju 10,9,8,7,6,5,4,3,2,1 . Men i SQL verkar inte denna regel gälla, utan "10<=" returnerar 9,8,7,6,5,4,3,2,1 . Det är detta som är lite underligt.

LarsGMedlem sedan dec. 200012 465 inlägg
#8

Det är inget underligt alls. SQL sever lagrar alltid datum och tid i kolumner av typen datetime.

Om du skriver ett datum som '2004-03-22' så lägger SQL server till tiden 00:00:00

< '2004-03-22' är samma som

< '2004-03-22 00:00:00' samma som

<= '2004-03-21 23:59:59'

<= '2004-03-22' är samma som

<= '2004-03-22 00:00:00'

Genererad på 513 ms · cache AV · v20260730165559-full.f96bc7eb