Het voorbeeld dat ze geven is: format_date(now(),‘MM/yyyy’) Ik voeg hier dan nog dd/ aan toe voor de dag. Hij geeft bij het voorbeeld een goede output af maar als ik de veldberekening doorzet dan krijg ik alleen NULL waarde. zie afbeelding hieronder:
Hallo Lars.
Ik denk dat je expressie correct is, maar dat je het veldtype op (text) moet zetten. Dan werkt het wel. Waarschijnlijk is dit een bug in qgis zodat wanneer je een ander type kiest je of NULL of 0 als resultaat krijgt, ook bij date.
Het veldtype staat ingesteld op Int, oftewel een integer (geheel getal). Maar de functie format_date levert een string als resultaat, en een string kun je niet opslaan als integer type.
Dus inderdaad het veldtype naar text zetten.
Maar @ARvanHAS : dat is geen bug in QGis, er gebeurt exact wat je zou verwachten.
In QGis werk je met andere bestands- en database formaten, en die formaten kennen per (tekst-) kolom een maximale hoeveelheid karakters die in die kolom toegestaan zijn. Daar zijn hele goede redenen voor om dat zo te doen, en dus moet QGis zich daar ook aan houden. Vandaar de lengte van het veld, wat overigens niet op alle datatypen van toepassing is.
Excel gebruikt een eigen intern bestandsformaat dat ze met niemand hoeven te delen, en kan daardoor flexibeler zijn op dit vlak. Wat overigens naar mijn mening niet altijd een voordeel is, overigens.
Baal nu behoorlijk hiervan want nu lijkt het een probleem wat het niet is. Beetje jammer van mijzelf…
Het probleem zit dus ergens anders. Zoals gezegd instellingen staan al op Nederlands/dutch dus datum moet die herkenen. Hij geeft ook een juiste waarde aan bij het voorbeeld.
Helaas geeft dit je exact hetzelfde probleem.
Als je het veldtype op datum zet, maar de functie format_date blijft gebruiken, probeer je een string in een datum-veld te zetten.
Dus: veldtype op datum, en als functie alleen
now()
Gebruiken (die functie geeft je namelijk een datum en tijd terug).