#1 Fri 30 April 2021 18:03
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
QGIS/SQL Gestionnaire BDD: erreur syntaxe right()
Salut à tous,
Je dois être fatigué en cette fin de semaine...
Je fais une bête requête SQL via le gestionnaire de BDD de QGis, et j'ai besoin de récupérer les caractères droits d'un champ...
Je fais donc cette requête qui me semblait basique :
Code:
SELECT right(monchamp, 3) as truc FROM matable;
Mais je me retrouve avec ce message d'erreur de QGis :
Erreur de base de données
Une erreur est survenue
near "(": syntax error
Testé sur des couches virtuelles, ou sur plusieurs tables distinctes de bases Spatialite...
Idem avec left(monchamp, 3)...
C'est le symptôme d'une fin de semaine chargée, ou il y a un bug sur mon PC ?
Merci pour votre aide !
Sylvain M.
Hors ligne
#2 Fri 30 April 2021 20:04
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS/SQL Gestionnaire BDD: erreur syntaxe right()
Bon,
J'ai l'impression que c'est bien une limitation de QGis et/ou de Spatialite : je viens de tester avec une base PostGreSQL, ma syntaxe fonctionne bien :
(j'en étais arrivé à douter de l'existence de cette fonction SQL)
Par contre, sur les couches virtuelles ou les bases Spatialite, toujours le même message d'erreur...
Par contre, comme la fonction substr() fonctionne, je m'en sors avec un
Code:
substr(monchamp,length(monchamp)-2,3)
Mais moins fun
Sylvain M.
Hors ligne