Toon posts:

SQL [iets met letters]

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vraagje over SQL.
Kan ik, zoals bij cijfers, letters een criterium opstellen bvb:
=<"B210"
Zodat de records met bvb 'B29', 'A1' zichtbaar worden.

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Wat je zou kunnen proberen is bijvoorbeeld het eerste karakter om te zetten met de (vaak aanwezige) Ord() functie in een getal.

Verder moet je weten hoeveel getallen je langste getal is wat daarachter komt. Dan doe je zoiets als:

(Ord(substr(mijnveld, 0, 1)) * 10^max_aant_digits) + substr(mijnveld, 1)

of eventueel:
((Ord(substr(mijnveld, 0, 1)) - 65) * 10^max_aant_digits) + substr(mijnveld, 1)

edit:

+ substr(mijnveld, 1) toegevoegd
Ik weet niet helemaal of dit werkt aangezien een substr van een getal een beetje vreemd is, en het ook vreemd is om een string (result van substr) op te tellen bij een getal..

|_____vakje______|


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:31
Op zondag 04 november 2001 22:13 schreef MMB het volgende:
Ik heb een vraagje over SQL.
Kan ik, zoals bij cijfers, letters een criterium opstellen bvb:
=<"B210"
Zodat de records met bvb 'B29', 'A1' zichtbaar worden.
Volgens mij gaat dit werken. De database zal namelijk van ieder karakter de ASCII waarde gaan vergelijken met de ASCII waarde van het zoekcriterium.

En als je het echt wilt weten, waarom probeer je het gewoon niet? Dan zie je het toch direct? :?

https://fgheysels.github.io/


  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

Op zondag 04 november 2001 22:50 schreef whoami het volgende:

Volgens mij gaat dit werken. De database zal namelijk van ieder karakter de ASCII waarde gaan vergelijken met de ASCII waarde van het zoekcriterium.

En als je het echt wilt weten, waarom probeer je het gewoon niet? Dan zie je het toch direct? :?
Volgens mij niet, tjek dit voorbeeldje:
Alle waarden onder de Z9 nodig
Oftewel in waarden onder 9057
Maar de waarde voor A12 is dan dit: 654950

Dan zou A12 zich niet onder de Z9 bevinden.

This can no longer be ignored.


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Ja dat gaat werken, echter moet je rekening houden dat hij de STRING karakter voor karakter vergelijkt.

betekent dat als je =<"B210" doet dat alles met de letter A of lager wordt weergegeven dus "A343" "A" of zelfs gewoon "34324".

Betekent dat als je het vergelijkt met een string die begint met de letter B het wordt weergegeven als de 2e karakter kleiner is dan de tweede letter van de andere string. dus met dezelfde voorbeeld zou je
"B18594" wel zien maar "B34543" niet.

zijn de twee eerste karakters gelijk dan gaat hij kijken naar de derde karaker. etc.

Hou er dus rekening mee dat "B29" NIET lager is dan "B210" immers is de derde karakter een 9 en die is niet gelijk of lager aan een 0.

begint het altijd met een letter en WIL je dat B29 WEL lager zou zijn dan B210 zal je het resultaat moeten splitten in twee substrings (functie) waardoor je de letter van het getal scheidt, daardoor kan je de letter vergelijken en dan met een andere functe het getal in een echt getal omzetten en dan vergelijken.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op zondag 04 november 2001 23:24 schreef Erik Jan het volgende:
Volgens mij niet, tjek dit voorbeeldje:
Alle waarden onder de Z9 nodig
Oftewel in waarden onder 9057
Maar de waarde voor A12 is dan dit: 654950

Dan zou A12 zich niet onder de Z9 bevinden.
Hij vult de kortste string stiekum aan met allemaal nullen.

betekent dus dat Z9 = 905700 wordt vergeleken met A12 =654950 betekent dus dat A12 wel onder de Z9 ligt,

betekent ook meteen dat als je Z9 zou vergelijken met Z91 dat Z91 NIET onder de Z9 ligt (of gelijk is.)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Wat is er mis met mijn oplossing dan?

|_____vakje______|


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 05 november 2001 13:34 schreef CyberSnooP het volgende:
Wat is er mis met mijn oplossing dan?
omslachtig.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1