Conversion automatique d'une colonne nommé date

Bonjour

je travaille avec une base de données externe en sqlite3. Je me connecte et je récupère les données sans problème.

Par contre, dans une table j'ai un champ nommé "date" qui n'est pas une date, mais un varchar qui représente un intervalle de date : "08/12/1970 - 21/12/1970" mais aussi "??/12/1970 - ??/??/1971" (quand on ne connaît pas les dates avec précision)

Quand j'affiche mon champ dans ma boucle avec #DATE, j'ai l'impression qu'une conversion est tentée car spip m'affiche 1970-01-01 00:00:00 quelle que soit la valeur dans la colonne

Si je renomme le champ "date" en "dates" le problème disparait.
Ce n'est pas moi qui ait conçu la base, je ne peux pas toucher à la structure.

Y a-t-il un moyen de dire à spip de prendre le champ "date" et de l'afficher sans rien tenter dessus ?

Florence

--
Florence HENRY
LESIA - CNRS / Observatoire de Paris

Florence HENRY a écrit le 02/07/2019 à 17:42 :

Bonjour

je travaille avec une base de données externe en sqlite3. Je me connecte et je récupère les données sans problème.

Par contre, dans une table j'ai un champ nommé "date" qui n'est pas une date, mais un varchar qui représente un intervalle de date : "08/12/1970 - 21/12/1970" mais aussi "??/12/1970 - ??/??/1971" (quand on ne connaît pas les dates avec précision)

Quand j'affiche mon champ dans ma boucle avec #DATE, j'ai l'impression qu'une conversion est tentée car spip m'affiche 1970-01-01 00:00:00 quelle que soit la valeur dans la colonne

Si je renomme le champ "date" en "dates" le problème disparait.
Ce n'est pas moi qui ait conçu la base, je ne peux pas toucher à la structure.

Y a-t-il un moyen de dire à spip de prendre le champ "date" et de l'afficher sans rien tenter dessus ?

Est-ce que tu as quand même la possibilité de créer (ou de faire créer) une vue
cf SQLite Create View: Learn How to Create View in SQLite

--
RealET

Le 02/07/2019 à 17:42, Florence HENRY a écrit :

je travaille avec une base de données externe en sqlite3. Je me connecte et je récupère les données sans problème.
Par contre, dans une table j'ai un champ nommé "date" qui n'est pas une date, mais un varchar qui représente un intervalle de date : "08/12/1970 - 21/12/1970" mais aussi "??/12/1970 - ??/??/1971" (quand on ne connaît pas les dates avec précision)
Quand j'affiche mon champ dans ma boucle avec #DATE, j'ai l'impression qu'une conversion est tentée car spip m'affiche 1970-01-01 00:00:00 quelle que soit la valeur dans la colonne

C'est qu'il y a un traitement automatique sur les champs date.

Essaie avec #DATE* pour désactiver le traitement.

JLuc

Tu peux aussi faire #CHAMP_SQL{date}

Le 02/07/2019 à 17:42, Florence HENRY a écrit :

Bonjour

je travaille avec une base de données externe en sqlite3. Je me connecte
et je récupère les données sans problème.

Par contre, dans une table j'ai un champ nommé "date" qui n'est pas une
date, mais un varchar qui représente un intervalle de date : "08/12/1970
- 21/12/1970" mais aussi "??/12/1970 - ??/??/1971" (quand on ne connaît
pas les dates avec précision)

Quand j'affiche mon champ dans ma boucle avec #DATE, j'ai l'impression
qu'une conversion est tentée car spip m'affiche 1970-01-01 00:00:00
quelle que soit la valeur dans la colonne

Si je renomme le champ "date" en "dates" le problème disparait.
Ce n'est pas moi qui ait conçu la base, je ne peux pas toucher à la
structure.

Y a-t-il un moyen de dire à spip de prendre le champ "date" et de
l'afficher sans rien tenter dessus ?

Florence

Le 02/07/2019 à 19:41, JLuc a écrit :

Quand j'affiche mon champ dans ma boucle avec #DATE, j'ai l'impression qu'une conversion est tentée car spip m'affiche 1970-01-01 00:00:00 quelle que soit la valeur dans la colonne

C'est qu'il y a un traitement automatique sur les champs date.

Essaie avec #DATE* pour désactiver le traitement.

Nickel. Merci. J'aurais dû y penser !

--
Florence HENRY
LESIA - CNRS / Observatoire de Paris

Je ne connaissais pas la commande. Merci !

Le 02/07/2019 à 20:36, tcharlss a écrit :

Tu peux aussi faire #CHAMP_SQL{date}

Le 02/07/2019 à 17:42, Florence HENRY a écrit :

Bonjour

je travaille avec une base de données externe en sqlite3. Je me connecte
et je récupère les données sans problème.

Par contre, dans une table j'ai un champ nommé "date" qui n'est pas une
date, mais un varchar qui représente un intervalle de date : "08/12/1970
- 21/12/1970" mais aussi "??/12/1970 - ??/??/1971" (quand on ne connaît
pas les dates avec précision)

Quand j'affiche mon champ dans ma boucle avec #DATE, j'ai l'impression
qu'une conversion est tentée car spip m'affiche 1970-01-01 00:00:00
quelle que soit la valeur dans la colonne

Si je renomme le champ "date" en "dates" le problème disparait.
Ce n'est pas moi qui ait conçu la base, je ne peux pas toucher à la
structure.

Y a-t-il un moyen de dire à spip de prendre le champ "date" et de
l'afficher sans rien tenter dessus ?

Florence

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

--
Florence HENRY
LESIA - CNRS / Observatoire de Paris