[SQL] Like: deel van waarde

Pagina: 1
Acties:
  • 176 views sinds 30-01-2008
  • Reageer

  • VonAalscht
  • Registratie: November 2001
  • Laatst online: 27-05 14:30
Hoe kan ik in (Access) via SQL een vergelijking opgeven met een waarde die net uit de database komt ? Ik probeer een selectie te maken van records die een volgnummer hebben; misschien 'n ingewikkeld verhaal, maar het volgnummer is opgebouwd uit 12 cijfers, waarvan de eerste 10 belangrijk zijn. Ik wil een select query maken waarbij ik eerst naar de eerste 10 cijfers kijk, en vervolgens het volnummer pak wat op 01 eindigd.

Voorbeeld volgnummer: 243610381204 krijg ik binnen. Ik wil dan met een selectie aan kunnen geven dat ik '2436103812**' (en de ** dan 01 is) wil hebben.

Hopelijk is het nog 'n beetje te volgen.... ;)

Iets als (probeerseltje)
code:
1
SELECT * FROM bla WHERE volgNum = volgNum AND volgNum LIKE '**********01'


(waar die eerste volgNum dan dus 243610381204 moet zijn)

Jemand ? :?

[ Voor 9% gewijzigd door VonAalscht op 18-12-2003 12:18 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Een like kan je enkel gebruiken op alfanumerieke velden, niet op numerieke.

Je moet trouwens slechts 1x het % of * wildcard gebruiken, niet n keer voor n posities.

https://fgheysels.github.io/


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Dit gaat niet werken zoals je wellicht zelf ook wel weet. Misschien een optie om het te proberen met right(volgNum,2) like '01' Voor meer info zie http://msdn.microsoft.com...tsqlref/ts_ra-rz_93z8.asp

I'm not a complete idiot - several parts are missing.


  • VonAalscht
  • Registratie: November 2001
  • Laatst online: 27-05 14:30
In "normale" SQL inderdaad niet, maar in Access kun je er wel op selecteren, toch ?

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Ik snap eigenlijk niet wat je wilt.

Wil je enkel het laatste deel van dat veld selecteren? Zoja, dan moet je eens naar substring etc kijken.

https://fgheysels.github.io/


  • VonAalscht
  • Registratie: November 2001
  • Laatst online: 27-05 14:30
WvdWest schreef op 18 december 2003 @ 12:19:
Dit gaat niet werken zoals je wellicht zelf ook wel weet. Misschien een optie om het te proberen met right(volgNum,2) like '01' Voor meer info zie http://msdn.microsoft.com...tsqlref/ts_ra-rz_93z8.asp
Dit geeft hetzelfde resultaat als ik had gemaakt :)

  • VonAalscht
  • Registratie: November 2001
  • Laatst online: 27-05 14:30
whoami schreef op 18 december 2003 @ 12:21:
Ik snap eigenlijk niet wat je wilt.

Wil je enkel het laatste deel van dat veld selecteren? Zoja, dan moet je eens naar substring etc kijken.
als in startpost stond; ik krijg een volgnummer binnen met 12 cijfers, waarvan de laatste 2 cijfers als het ware een volgnummer binnen dat volgnummer zijn; de eerste 10 geven dan de eerste serie aan, de laatste 2 de tweede serie. Als ik dus een volgnummer binnen krijg dat niet op 01 eindigd, zal ik die moeten zoeken. (krijg namelijk een aantal keren een volgnummer dat op 03 of 04 oid eindigd)

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Van waar krijg je dat volgnummer binnen, en waar moet je dat volgnummer gaan selecteren dat wel op 01 eindigd?

https://fgheysels.github.io/


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Huurmoordenaars schreef op 18 december 2003 @ 12:23:
[...]

Dit geeft hetzelfde resultaat als ik had gemaakt :)
Ok als ik het goed begrijp wil je dus het volgende:

Volgnummer - laatste twee cijfers + '01'

SELECT * FROM bla WHERE volgNum = left(volgNum,10) & '01'

Zoiets zou het dan moeten worden. Ik heb het niet getest dus weet niet of dit werkt.

I'm not a complete idiot - several parts are missing.


  • VonAalscht
  • Registratie: November 2001
  • Laatst online: 27-05 14:30
Bedankt ! Precies zoals het zou moeten werken _/-\o_

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Heb je niet iets van een modulo of remainder operator of functie ofzo?
code:
1
2
3
4
5
6
7
8
SELECT 
   * 
FROM 
   bla 
WHERE 
   MOD(volgnum,2) <> 0 
AND 
   MOD(volgnum-1,100)=0

iets dergelijks zou ik stiekem toch wel een beetje mooier vinden dan een string-functie toepassen op een numeriek veld. Maakt verder ook geen worst uit, maar goed... :Y)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1