Ik heb een kolom leverdata met daarin 2 data op een nogal bijzonder manier weergegeven, dit is bedoeld als een bereik met een verwachte leverdatum.
Bijvoorbeeld:
18-2-24-28-2-24
7-2-24-17-2-24
29-2-24-10-3-24
28-12-23-7-1-24
Ik wil hier graag 2 valide datums van maken, bijvoorblled minLeverdatum en maxLeverdatum
...
Ik gebruik een Azure database en kan daardoor niet de functie STRING_SPLIT gebruiken.
...
Ik dacht eerst met SUBSTRING en CHARINDEX stukje voor stukje de string op te knippen naar 6 verschillende kolommen zodat ik die later weer kan samenvoegen naar datums.
Het lukt mij om het eerste getal te isoleren en het startpunt van het 2e getal te vinden. Bij de lengte van het 2e getal loopt ik vast
ChatGPT kon het ook niet voor mij oplossen
Ik kan mij haast niet voorstellen dat ik de eerste ben die hier tegenaan loopt, wie kan me helpen?
De beste poging die ik heb is deze:
...
Bijvoorbeeld:
18-2-24-28-2-24
7-2-24-17-2-24
29-2-24-10-3-24
28-12-23-7-1-24
Ik wil hier graag 2 valide datums van maken, bijvoorblled minLeverdatum en maxLeverdatum
...
Ik gebruik een Azure database en kan daardoor niet de functie STRING_SPLIT gebruiken.
...
Ik dacht eerst met SUBSTRING en CHARINDEX stukje voor stukje de string op te knippen naar 6 verschillende kolommen zodat ik die later weer kan samenvoegen naar datums.
Het lukt mij om het eerste getal te isoleren en het startpunt van het 2e getal te vinden. Bij de lengte van het 2e getal loopt ik vast
ChatGPT kon het ook niet voor mij oplossen
Ik kan mij haast niet voorstellen dat ik de eerste ben die hier tegenaan loopt, wie kan me helpen?
De beste poging die ik heb is deze:
code:
1
2
3
4
5
6
7
8
9
10
| SELECT ,CASE WHEN CHARINDEX('-', verwachteLeverdatum) > 0 -- lege cellen overslaan THEN SUBSTRING(verwachteLeverdatum, 1, CHARINDEX('-', verwachteLeverdatum) - 1) END AS verwachteLeverdatumDag1 ,CASE WHEN CHARINDEX('-', verwachteLeverdatum) > 0 -- lege cellen overslaan THEN SUBSTRING(HverwachteLeverdatum,CHARINDEX('-', verwachteLeverdatum+1,CHARINDEX('-', verwachteLeverdatum)+ CHARINDEX('-', verwachteLeverdatum)-CHARINDEX('-', verwachteLeverdatum)-1) END AS verwachteLeverdatumMaand1 FROM Bestellingen |
...
[ Voor 0% gewijzigd door Bertil126 op 22-09-2023 12:49 . Reden: ook voorbeeld met 2 cijferige maand toegevoegd. ]