Scripts

Datum in Nederlands vanuit SQL

De meeste mensen die met een datum in SQL werken willen deze natuurlijk netjes in het Nederlands weergeven zonder tussenkomst van PHP. Nu is het niet zo moeilijk om 'dd-mm-yyyy' te maken (dit kan met DATE_FORMAT), maar een uitgeschreven datum als 'maandag 02 januari 2006' wordt helaas nog te vaak onnodig met PHP gedaan. Bij deze de SQL oplossing. Deze oplossing heb ik in een forumtopic gepost maar lijkt me wel handig voor alle programmeurs.

datum-in-nederlands-vanuit-sql
( In dit geval: tabel "tabel" met veld "datum" type DATE of DATETIME )

[code]
SELECT 
    CONCAT(    
        (CASE DATE_FORMAT(datum, '%w')
        WHEN '0' THEN 'zondag'
        WHEN '1' THEN 'maandag'
        WHEN '2' THEN 'dinsdag'
        WHEN '3' THEN 'woensdag'
        WHEN '4' THEN 'donderdag'
        WHEN '5' THEN 'vrijdag'
        WHEN '6' THEN 'zaterdag'
        END),
        ' ',
        (DATE_FORMAT(datum, '%d')),
        ' ',
        (CASE DATE_FORMAT(datum, '%c')
        WHEN '1' THEN 'januari'
        WHEN '2' THEN 'februari'
        WHEN '3' THEN 'maart'
        WHEN '4' THEN 'april'
        WHEN '5' THEN 'mei'
        WHEN '6' THEN 'juni'
        WHEN '7' THEN 'juli'
        WHEN '8' THEN 'augustus'
        WHEN '9' THEN 'september'
        WHEN '10' THEN 'oktober'
        WHEN '11' THEN 'november'
        WHEN '12' THEN 'december'
        END), 
        ' ',
        (DATE_FORMAT(datum, '%Y'))
    ) AS datum        
FROM tabel 
[/code]




Of in een testscriptje:
<?php

$sql = "
SELECT 
    CONCAT(    
        (CASE DATE_FORMAT(datum, '%w')
        WHEN '0' THEN 'zondag'
        WHEN '1' THEN 'maandag'
        WHEN '2' THEN 'dinsdag'
        WHEN '3' THEN 'woensdag'
        WHEN '4' THEN 'donderdag'
        WHEN '5' THEN 'vrijdag'
        WHEN '6' THEN 'zaterdag'
        END),
        ' ',
        (DATE_FORMAT(datum, '%d')),
        ' ',
        (CASE DATE_FORMAT(datum, '%c')
        WHEN '1' THEN 'januari'
        WHEN '2' THEN 'februari'
        WHEN '3' THEN 'maart'
        WHEN '4' THEN 'april'
        WHEN '5' THEN 'mei'
        WHEN '6' THEN 'juni'
        WHEN '7' THEN 'juli'
        WHEN '8' THEN 'augustus'
        WHEN '9' THEN 'september'
        WHEN '10' THEN 'oktober'
        WHEN '11' THEN 'november'
        WHEN '12' THEN 'december'
        END), 
        ' ',
        (DATE_FORMAT(datum, '%Y'))
    ) AS datum        
FROM tabel";

$query = mysql_query($sql) or trigger_error(mysql_error());

while ($row = mysql_fetch_assoc($query))
{
     echo $row['datum'] . '<br>';
}

?>

Reacties

0
Nog geen reacties.