Avatar billede kourosh Nybegynder
29. juli 2002 - 14:36 Der er 10 kommentarer og
1 løsning

Select * from table_name where dato=29-07-2002

Hej
Jeg har en type data af dato TIMESTAMP i min mysql database i en tabel.
I den felt gemmer jeg dato og tid med now() funktion og data ser
sådan ud 29-07-2002 13:54:34.
Jeg skal selecte noget i denne tabel som f.eks dato= 29-07-2002, men ikke noget resultat!!!
Hvad skal jeg skrive i stede for Select * from tabel_name where dato=’29-07-2002’; ?
Avatar billede sthen Nybegynder
29. juli 2002 - 14:42 #1
Hva' sker der hvis du skriver:
Select * from tabel_name where dato=29-07-2002%;
Avatar billede jets Nybegynder
29. juli 2002 - 14:43 #2
TIMESTAMP bruges til automatisk at indsætte et tidspunkt hvis en række indsættes eller ændres.
TIMESTAMP er som default af formatet YYYYMMDDHHMMSS. Du bruger et andet format (DD-MM-YYYY) og det kan måske være det der er galt for dig? Prøv  en anden datatype eller ændr dit tidsformat til det rigtige format.
Avatar billede hansk Nybegynder
29. juli 2002 - 15:54 #3
Du skal skrive:

Select * from tabel_name where date(dato)=’29-07-2002’
Avatar billede kourosh Nybegynder
29. juli 2002 - 23:28 #4
hansk jeg får syntax error med
Select * from tabel_name where date(dato)=’29-07-2002’
Avatar billede kourosh Nybegynder
29. juli 2002 - 23:32 #5
jets jeg har også provet med yyyymmdd format men hjælper ikke, formatten skal være YYYYMMDDHHMMSS og når jeg skal søge for noget i bestem dag, jeg skal bruge kun yyyymmdd. hvordan kan jeg selecte en dag fra denne format uansat hvilke minut og second og....?
Avatar billede kourosh Nybegynder
29. juli 2002 - 23:36 #6
jeg har ændret data type til datetime. og samme problem.
Avatar billede hansk Nybegynder
30. juli 2002 - 08:42 #7
Date funktionen findes tilsyneladende ikke i mysql.

Skriv i stedet:

Select * from tabel_name
where day(dato)=29 and month(dato)=7 and year(dato)=2002
Avatar billede jets Nybegynder
30. juli 2002 - 08:44 #8
Timestamp default (14 digits) laver YYYYMMDDHHMMSS. Hvis du vil lave et andet format så tag et kig på tabellen midt på denne side: http://www.mysql.com/doc/D/A/DATETIME.html og se om det hjælper. Du kan angive digits ved oprettelse af en tabel (eller ændring) og det ser ud til at det er 8 digits du skal have fat i...
Avatar billede mortenfn Nybegynder
30. juli 2002 - 13:29 #9
det er noget der ikke rigtigt passer timestamp >now() giver

20020730132500

afhengelig af formatet ! og formatet sættes med tallet i ()

f.eks. tid(10) giver 0207301325  YYMMDDHHMM

hvis du så vil dave datoen så er det sådan

$dato=date("ymd",time);
  ...... WHERE LEFT(tid,6)='$dato' ......

Hvis dit format

$dato=date("Ymd",time);
  ...... WHERE LEFT(tid,8)='$dato' ......

morten
Avatar billede mortenfn Nybegynder
30. juli 2002 - 13:48 #10
hov

$dato=date("ymd",time());  det manglede ()
Avatar billede kourosh Nybegynder
12. august 2002 - 03:48 #11
jeg kunne løse mit problem med like. men tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester