SQL Server vraag: hoe kan ik voorletters scheiden met punten?

Status
Niet open voor verdere reacties.

vvanasperen

Gebruiker
Lid geworden
9 mrt 2009
Berichten
68
Dag allemaal,

Ik heb heb een in een database een veld dat gevuld is met voorletter(s). Deze staan nu aan elkaar (bijvoorbeeld ACR of SH)

Nu wil ik in een query de voorletters gescheiden hebben met punten (dus A.C.R. of S.H.)! Is dit mogelijk in SQL Server? Zo ja, hoe?

Ik heb de query nodig als input voor een ander programma, dus een optie met VBA is bij voorbaat uit te sluiten als oplossing...

Met vriendelijke groet,

Vincent
 
Er is wel een query te bouwen. Denk echter ook even na wat je wilt doen met bijv. de voorletters PH van Phil. Hoe worden die opgeslagen
 
Vaak is geen bericht, goed bericht... In dit geval echter niet... Ik ben er nog niet achter, maar Tardis heeft in ieder geval een punt, de voorletter van Phil is P en niet PH.

De vraag blijft dus nog even open staan...

Groeten Vincent
 
Initialen met puntjes

Hoi Vincent,

Ik zat met hetzelfde probleem en heb het onderstaande gemaakt in Oracle PSCS. Wellicht heb je er iets aan.
Het statement heb ik opgenomen in de select. Dus select <case .. end> from x where y;

case
when length(C.NAME_INITIALS)=1 then substr(C.NAME_INITIALS,1,1)||'.'
when length(C.NAME_INITIALS)=2 then substr(C.NAME_INITIALS,1,1)||'.'||substr(C.NAME_INITIALS,2,1)||'.'
when length(C.NAME_INITIALS)=3 then substr(C.NAME_INITIALS,1,1)||'.'||substr(C.NAME_INITIALS,2,1)||'.'||substr(C.NAME_INITIALS,3,1)||'.'
when length(C.NAME_INITIALS)=4 then substr(C.NAME_INITIALS,1,1)||'.'||substr(C.NAME_INITIALS,2,1)||'.'||substr(C.NAME_INITIALS,3,1)||'.'||substr(C.NAME_INITIALS,4,1)||'.'
when length(C.NAME_INITIALS)=5 then substr(C.NAME_INITIALS,1,1)||'.'||substr(C.NAME_INITIALS,2,1)||'.'||substr(C.NAME_INITIALS,3,1)||'.'||substr(C.NAME_INITIALS,4,1)||'.'||substr(C.NAME_INITIALS,5,1)||'.'
else C.NAME_INITIALS
end
 
Goedemiddag Pollek,

Had dit vandaag opnieuw nodig en zocht via google. Kwam ik grappig genoeg op mijn eigen vraag uit, maar had jou oplossing nog niet gezien. Dit lijkt te werken. Bedankt!

Groeten Vincent
 
Phil wordt een P, Philomena wordt wel 'Ph', en zo zijn er ook gevallen met 'Th'. Als je niet weet wat de voorletters zijn kun je gewoon niet meer terug zonder hier en daar te blunderen.

Anyhoes dit is wel een bijzonder naar stuk SQL, heeft je database geen Regexp of array functies, of de mogelijkheid om een stored function te maken die het wat dynamischer aanpakt?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan