Avatar billede nc85 Nybegynder
04. maj 2006 - 18:30 Der er 7 kommentarer

order by dato?

Hey alle...

Har en tabel der hedder dato i databasen! Dette er smidt ind som varchar...

Når jeg hiver dem ud, så ser en dato fx sådanne ud: 05/5-2006
--------------------------------

Jeg skal have min SQL til at sortere efter det 4 tegn i den streng?
Altså måneden! Når den sortere sådan som det gør nu, vil de ikke komme til at stå korrekt når du vil sortere efter en dato!
Avatar billede Slettet bruger
04. maj 2006 - 18:32 #1
du skal lave din dato (varchar) om til date for så registrer den at det er en dato.
Prøv engang at ændre den i databasen.
Avatar billede Slettet bruger
04. maj 2006 - 18:34 #2
altså datatype var det, det hed :D
Avatar billede nc85 Nybegynder
04. maj 2006 - 18:37 #3
Hvis jeg gør det bliver de nuværende datoer helt fucked op derinde??
Avatar billede Slettet bruger
04. maj 2006 - 18:39 #4
Ja det er nok rigtig nok, men det er den rigtige måde at gøre det på.
Avatar billede nc85 Nybegynder
04. maj 2006 - 19:15 #5
Rigtig nok, men kan jeg ikke lave et eller andet smart i SQL'en, da jeg ellers skal ind og ændre flere hundrede poster :(
Avatar billede coderdk Praktikant
04. maj 2006 - 20:04 #6
Opret et DATETIME felt i databasen der hedder "nydato". Så kan du bruge denne kode til at ændre det. Bemærk at jeg antager at din PRIMARY KEY hedder "id" og dit nuværende datofelt hedder "dato":

$sql = "SELECT id, dato FROM tabel";
$qh = mysql_query( $sql ) or die( mysql_error() );
while ( $row = mysql_fetch_assoc( $qh ) )
{
  $realdate = preg_replace( "!(\d+)/(\d+)-(\d+)!", "\\3-\\2-\\1 0:00:00", $row['dato'] );
  $sql = "UPDATE tabel SET nydato = '$realdate' WHERE id = $row[id]";
  mysql_query( $sql ) or die( mysql_error() );
}

Derefter kan du checke at nydato indeholder det rigtige, og så droppe "dato"-feltet fra databasen.
Avatar billede Slettet bruger
04. maj 2006 - 20:16 #7
smart, og så bagefter kan du så rename dit felt "nydato" til "dato", og så har du kommet uden om, og kan nu sorter rigtigt som du vil.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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