webForumDet fria alternativet

SQL order by "del av data"

5 svar · 469 visningar · startad av daja

dajaMedlem sedan feb. 200355 inlägg
#1

Hejsan,
Har ett litet problem som jag undrar om det finns någon lösning på.

Jag vill i SQL frågan sortera på år, dock så finns det endast ett fält i databasen att anväda sig av och det är med hela datumet (20060809) och av typen int. Går det på något sätt att sortera på dom 4 första tecknen? Jag vill i andra led sortera på text kund namn men det får just nu ingen effekt eftersom jag sorterar på hela datumet och det är unik för i princip alla träffar.

SELECT a, b, c FROM TABELL WHERE a = '2' ORDER BY "4 första tecknen i b", c

typ :)

Tacksam för hjälp.

mvh
Daniel

@ndersMedlem sedan juni 200032 969 inlägg
#2
  1. Det finns ett finfint SQL-forum (jag har rapporterat tråden för flytt dit, så du behöver inte skapa en ny)
  2. Vad använder du för dbms?

(ja, det går att lösa)

LarsGMedlem sedan dec. 200012 464 inlägg
#3
SELECT a, b, c 
  FROM TABELL 
  WHERE a = 2
  ORDER BY substring(cast(b as char(8)) from 1 for 4), c

Flyttas från ASP

dajaMedlem sedan feb. 200355 inlägg
#4

Tyckte jag tittade efter ett SQL-forum, men jag måste ha tittat alldeles för snabbt.

Det fungerar tyvärr inte, får felmeddelandet "missing right parenthesis"

Databasen är oracle.

LarsGMedlem sedan dec. 200012 464 inlägg
#5
ORDER BY substr(cast(b as char(10)),1,4), c
dajaMedlem sedan feb. 200355 inlägg
#6

Nu fungerade det! Tack för snabba svar.

Tyvärr blev inte resultatet helt tillfredsställande men det beror på uppbyggnaden av sidan.

Tack igen!

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