/ 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
MySQL: timestamp-problem
Fra : jonas@delfs.dk


Dato : 17-03-06 13:21

Hej gruppe

Jeg har en forespørgsel til mysql hvor følgende skal gælde:

UNIX_TIMESTAMP(CONCAT(from_date, ' ', from_time)) <=
UNIX_TIMESTAMP(2006-03-17) <= UNIX_TIMESTAMP(CONCAT( to_date, ' ',
to_time ))

Problemet er så at henholdvis from_time og to_time kan være NULL, og
så skal timestampet blot genereres ud fra henholdsvis from_date og
to_date, men det vil umiddelbart ikke ske.

Hvad kunne en løsning være?

På forhånd tak!

Mvh. Jonas


 
 
Michael Zedeler (17-03-2006)
Kommentar
Fra : Michael Zedeler


Dato : 17-03-06 13:47

jonas@delfs.dk wrote:
> UNIX_TIMESTAMP(CONCAT(from_date, ' ', from_time)) <=
> UNIX_TIMESTAMP(2006-03-17) <= UNIX_TIMESTAMP(CONCAT( to_date, ' ',
> to_time ))
>
> Problemet er så at henholdvis from_time og to_time kan være NULL, og
> så skal timestampet blot genereres ud fra henholdsvis from_date og
> to_date, men det vil umiddelbart ikke ske.
>
> Hvad kunne en løsning være?

IFNULL, f. eks.

http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html

Mvh. Michael.

--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

jonas@delfs.dk (17-03-2006)
Kommentar
Fra : jonas@delfs.dk


Dato : 17-03-06 14:24

> IFNULL, f. eks.

Takker. Vha IF fik jeg så strikket følgende sammen, men det virker
stadig ikke efter hensigten - nogen idé om hvorfor? Forespørgslen
giver 0 rækker mod forventet 1.

UNIX_TIMESTAMP(IF(from_time, CONCAT(from_date,' ', from_time),
from_date)) <= UNIX_TIMESTAMP(2006-03-17) <= UNIX_TIMESTAMP(IF(to_time,
CONCAT(to_date,' ', to_time), to_date))

Mvh. Jonas


Michael Zedeler (17-03-2006)
Kommentar
Fra : Michael Zedeler


Dato : 17-03-06 14:26

jonas@delfs.dk wrote:
>>IFNULL, f. eks.
>
> Takker. Vha IF fik jeg så strikket følgende sammen, men det virker
> stadig ikke efter hensigten - nogen idé om hvorfor?

Ja. Du bruger ikke IFNULL.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

jonas@delfs.dk (17-03-2006)
Kommentar
Fra : jonas@delfs.dk


Dato : 17-03-06 14:40

> Ja. Du bruger ikke IFNULL.

Sikke et brugbart svar. Jeg fandt det mere logisk at benytte IF, og det
virker i øvrigt fint - problemet lå i anden omgang et andet sted.

Mvh. Jonas


Michael Zedeler (17-03-2006)
Kommentar
Fra : Michael Zedeler


Dato : 17-03-06 16:30

jonas@delfs.dk wrote:
>>Ja. Du bruger ikke IFNULL.
>
> Sikke et brugbart svar. Jeg fandt det mere logisk at benytte IF, og det
> virker i øvrigt fint - problemet lå i anden omgang et andet sted.

Du spørger efter at checke hvornår en søjle er NULL. Jeg foreslår en
operator der gør lige netop præcis dét (IFNULL). Du skriver at det ikke
virker og giver et eksempel, hvor det er helt tydeligt at det ikke
virker fordi du bruger en anden operator (IF) og ikke checker at værdien
reelt er NULL.

Hvad havde du så regne med at jeg skulle skrive andet end det samme, som
jeg oprindeligt skrev - at du skulle bruge IFNULL?

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

jonas@delfs.dk (21-03-2006)
Kommentar
Fra : jonas@delfs.dk


Dato : 21-03-06 13:31

Michael Zedeler wrote:
> jonas@delfs.dk wrote:
> >>Ja. Du bruger ikke IFNULL.
> >
> > Sikke et brugbart svar. Jeg fandt det mere logisk at benytte IF, og det
> > virker i øvrigt fint - problemet lå i anden omgang et andet sted.
>
> Du spørger efter at checke hvornår en søjle er NULL. Jeg foreslår en
> operator der gør lige netop præcis dét (IFNULL). Du skriver at det ikke
> virker og giver et eksempel, hvor det er helt tydeligt at det ikke
> virker fordi du bruger en anden operator (IF) og ikke checker at værdien
> reelt er NULL.
>
> Hvad havde du så regne med at jeg skulle skrive andet end det samme, som
> jeg oprindeligt skrev - at du skulle bruge IFNULL?

Ja, beklager - jeg var for hurtigt ude! Jeg troede i første omgang at
jeg brugte IF forkert og synes derfor at dit svar om IFNULL var ret
intet-sigende når jeg nu havde fundet ud af at IF's syntaks passede
bedre til formålet og forskellen på IF og IFNULL i praksis var
ikke-eksisterende.

Tak for svar!

Mvh. Jonas


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

Månedens bedste
Årets bedste
Sidste års bedste