Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
j'ai créé la vue vue
CREATE OR REPLACE VIEW view_moy_labo AS
SELECT view_ecart_type_tournee.trn_esp, to_number("substring"(to_char(view_ecart_type_tournee.trn_date_prel, 'FM999999'::text), 1, 4), '9999'::text) AS mois, round(avg(view_ecart_type_tournee.stddev), 2) AS et
FROM view_ecart_type_tournee
GROUP BY to_number("substring"(to_char(view_ecart_type_tournee.trn_date_prel, 'FM999999'::text), 1, 4), '9999'::text), view_ecart_type_tournee.trn_esp
ORDER BY view_ecart_type_tournee.trn_esp, to_number("substring"(to_char(view_ecart_type_tournee.trn_date_prel, 'FM999999'::text), 1, 4), '9999'::text);
la fonction substring se retrouve entre guillemet et j'aimerai bien savoir pourquoi!
autre question dans la question : n'y a t il pas un autre moyen que d'utiliser substring pour récupérer une partie d'un nombre pour faire un regroupement par exemple:
110401 --> 1104
merci
Dernière modification par damalaan (29/06/2011 10:09:10)
Hors ligne
Toutes les fonctions sur les chaînes de caractères (http://docs.postgresql.fr/9.0/functions-string.html) et sur les expressions rationnelles (http://docs.postgresql.fr/9.0/functions-matching.html) permettent de récupérer une partie d'un nombre ou d'une chaîne pour faire un regroupement.
Pour la mise entre guillemets, vous êtes sous quelle version de PostgreSQL ?
Guillaume.
Hors ligne
je suis en version 9.0, avec pgAdminIII
ce qui est étrange c'est j'utilise cette fonction dans une fonction en PL/pgSQL et qu'elle n'est pas entre guillemet
ça n'empêche pas que cela fonctionne mais c'est étrange
SELECT
to_number((
(substring(annnee,3,2) ||
(case CHAR_LENGTH(mois)
when 1 then '0'||mois
when 2 then mois
end)
|| decade)), '999999') as date_prel,
......
Hors ligne
Oui, en soi, ça ne dérange pas. Les doubles guillemets sont là surtout pour les noms dont la casse est partiellement ou complètement du majuscule ou pour les noms contenant des caractères spéciaux (style espace, retour chariot).
Guillaume.
Hors ligne
Pages : 1