J'essaie de tirer et de formater l'horodatage de ma DB SQLite. Dans ma lecture, il semble que la mise en forme de SQLite est extrêmement limitée par rapport à la conversion de mise en forme à la date à laquelle la conversion de PHP est extrêmement limitée. J'ai cette requête venant de JavaScript: p>
et il retourne: p>
03 03, 2009 P>
J'essaie de l'obtenir pour revenir: p>
3 mars 2009 p>
Toute suggestion? P> Sélectionnez StrfTime ('% M% D,% Y', horodatage) Comme SavedDate CODE> P>
3 Réponses :
sqlite ne prend pas en charge les noms de mois , tristement. Vous devrez le convertir en un nom d'un mois à l'aide d'une table de recherche, d'une instruction de cas ou d'un commutateur sur la couche de présentation. P>
Il est absolument vrai que SQLite est axé sur la fonctionnalité appartenant à la couche de stockage de données et non sur la fonctionnalité qui appartient à l'interface utilisateur, comme le formatage des dates avec des noms de mois et similaires. Je suggère fortement que vous preniez cela comme un indice très utile pour garder chaque type de fonctionnalité dans sa bonne couche! -). P>
Si vous êtes absolument désireux de respirer la fonctionnalité de l'interface utilisateur dans la couche de stockage de données, cela peut dans une certaine mesure être de chausse-pied, par exemple. En écrivant vos propres fonctions de formatage en C et en les accrochant à SQLite ou en passant par des girats SQL incroyablement maladroits, mais je ne peux imaginer aucun cas d'utilisation où cela vaudrait la peine. P>
Et si ma couche de présentation est un fichier texte de la sortie d'une instruction SQL? C'est un besoin très fondamental et SQLLITE triste ne le supporte pas hors de la boîte. Cependant, compte tenu de son objectif et de la manière dont il est que je peux accepter cette fonctionnalité manquée qu'il s'agite juste.
Nom du mois complet strong> p> rtrim (substr ("January--February-March----April----May------June-----July-----August---SeptemberOctober--November-December", strftime ("%m", thedate) * 9 - 8, 9))