Plaatsnamen met voorvoegsels selecteren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Systeembeheerder met programmeer skills

Systeembeheerder Fulltime, Capelle aan den Ijssel De functie: De Systeembeheerder met programmeer skills is verantwoordelijk voor alle systemen binnen de datacenters. De werkzaamheden: Beleidsplannen van de Directie uitvoeren op operationeel en tactisch niveau van het Datacenter. Systemen beheren zoals: telefooncentrale, toegangssysteem, webservers, MySQL etc. Dagelijkse controle ronde lopen door de datacenter van Databarn Rivium. Planningen maken m.b.t. inrichten, verhuizen en vervangen van apparatuur. Voorbereiden en inrichten rackspace n.a.v. nieuwe klant of uitbreiding huidige klant. Eerste aanspreekpunt voor bestaande en potentiële klanten. (telefonisch en mail) Klanten informeren van geplande onderhoudsmomenten, storingen en wijzigingen. Programmeren van eigen software pakketten. Website Databarn onderhouden.

Bekijk vacature »

- Ariën -
Beheerder

- Ariën -

06/11/2019 21:40:35
Quote Anchor link
Ik heb een tabel met stationsnamen, en ik wil een overzicht maken op de beginletter.

Nu is dit 'a piece of cake' voor Schiedam, Sittard etc...:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT id, afk, place, is_station
    FROM locations
        WHERE place LIKE 's%'
        AND is_station = '1'


Maar hoe kunnen we het eigenwijze 's-Hertogenbosch en 't Harde bij de T of H krijgen?
En wat is wijsheid in de Nederlandse taal? :-)
Gewijzigd op 06/11/2019 21:46:37 door - Ariën -
 
PHP hulp

PHP hulp

27/05/2020 12:15:15
 
Michael -

Michael -

06/11/2019 22:33:38
Quote Anchor link
Als je er op wilt zoeken moet je misschien ook nog rekening houden met dubbele namen?
's Hertogenbosch/Den Bosch etc.

Je kun zoeken op het eerste Hoofdletter
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
preg_match( '/[A-Z]/', $string, $matches, PREG_OFFSET_CAPTURE );
Gewijzigd op 06/11/2019 22:51:07 door Michael -
 
Rob Doemaarwat

Rob Doemaarwat

06/11/2019 22:36:23
Quote Anchor link
https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-like
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
where regexp_like(place,'^[^A-Z]*H','c')

(die "H" is dus de "eerste letter" die je zoekt)
Gewijzigd op 06/11/2019 22:40:41 door Rob Doemaarwat
 
- Ariën -
Beheerder

- Ariën -

06/11/2019 22:45:18
Quote Anchor link
@Rob: En die 'c' dan?

Aha, gevonden.... Case sensitive :-)
Gewijzigd op 06/11/2019 22:46:51 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

06/11/2019 23:22:15
Quote Anchor link
Op ns.nl kun je ook Hertogenbosch ('s), Den Bosch of 's-Hertogenbosch invullen. Dus misschien is het sowieso een goed idee om meerdere benamingen voor hetzelfde station toe te staan.

Daarnaast zou ik persoonlijk geen case-sensitive vergelijkingen doen, ain't nobody got time for that.

Je zou kunnen controleren op een optionele initiële apostrof?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE place LIKE '^\'?<zoekterm>'

Waar <zoekterm> de ingetoetste zoekterm is.

Maar eigenlijk heb je helemaal geen speciale modificaties nodig als je gewoon meerdere (correcte) schrijfwijzen voor een plaatsnaam hebt die vervolgens één (fysieke) plaats produceren. Misschien is dat een betere oplossing dan een complete custom regexp voor dit doel.
 
- Ariën -
Beheerder

- Ariën -

06/11/2019 23:55:47
Quote Anchor link
Ik zie inderdaad dat de NS API ook Synoniemen toestaan waar
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
"Hertogenbosch (\u0027s)", "Den Bosch"
uitrolt. Ik ga eens kijken hoe ik dit erin ga integreren.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.