webForumDet fria alternativet

Konvertera till integer?

5 svar · 271 visningar · startad av His Divine Shadow

His Divine ShadowMedlem sedan sep. 20004 079 inlägg
#1

Kolla här:
SQL = "SELECT Distinct(Year) from Novels WHERE Era = 'Pre' Order by Year DESC"

Problemet, jo att t.ex. '5' kommer före '10'
Jag gissar att lösningen är att konvertera det till integers, men hur?

@ndersMedlem sedan juni 200032 969 inlägg
#2

Har du årsfältet som text i tabellen?

Mvh,

His Divine ShadowMedlem sedan sep. 20004 079 inlägg
#3

Ja det har jag, eftersom ibland behöver jag använda tal som 8-10 eller 3.5

UlfTMedlem sedan maj 20018 027 inlägg
#4

Jag tycker du borde lagra årtalen som Date (heter det i Oracle i alla fall). Behöver du flera årtal i intervall, så kanske du bör fundera över att ha flera kolumner, tex maxyear och minyear. Lagrar du det som strängar blir det hopplöst att sortera på.

His Divine ShadowMedlem sedan sep. 20004 079 inlägg
#5

Det är inte riktiga datum heller, utan bara bara som 8 år före detta, 12-13 år efter detta osv.

@ndersMedlem sedan juni 200032 969 inlägg
#6

Lagra som decimaltal då. Text skall inte användas för att lagra tal. Det blir bara galet då.

Mvh,

124 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)