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