Voir le flux RSS

Alassane Diakité

PostgreSQL: sequence sous forme littérale en plpgsql

Noter ce billet
par , 15/10/2015 à 15h02 (266 Affichages)
Salut
Je partage avec vous une fonction qui génère une numérotation sous la forme de caractères alphabétiques:A,B...Z, AA,AB...AZ...
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
CREATE OR REPLACE FUNCTION inseqtotextseq(intseq integer)
  RETURNS character varying AS
$BODY$
declare
talphabet char[26]='{"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}';
r int;
q int;
begin
 
	if intseq<=26 then
	raise notice 'intseq %',intseq;
	return talphabet[intseq];
	else
		r=intseq%26;
		q=intseq/26;
		if r>0 then		
		return matricule.inseqtotextseq(q)||talphabet[r];
		else
			if q=1 then
			return matricule.inseqtotextseq(q)||talphabet[1];
			else
			return matricule.inseqtotextseq(q-1)||talphabet[26];
			end if;
		end if;
 
	end if;
end
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
Exemples d'utilisation...
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT matricule.inseqtotextseq(12);
Ce qui donne
L
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT matricule.inseqtotextseq(33);
Ce qui donne
AH
Bonne utilisation

Envoyer le billet « PostgreSQL: sequence sous forme littérale en plpgsql » dans le blog Viadeo Envoyer le billet « PostgreSQL: sequence sous forme littérale en plpgsql » dans le blog Twitter Envoyer le billet « PostgreSQL: sequence sous forme littérale en plpgsql » dans le blog Google Envoyer le billet « PostgreSQL: sequence sous forme littérale en plpgsql » dans le blog Facebook Envoyer le billet « PostgreSQL: sequence sous forme littérale en plpgsql » dans le blog Digg Envoyer le billet « PostgreSQL: sequence sous forme littérale en plpgsql » dans le blog Delicious Envoyer le billet « PostgreSQL: sequence sous forme littérale en plpgsql » dans le blog MySpace Envoyer le billet « PostgreSQL: sequence sous forme littérale en plpgsql » dans le blog Yahoo

Commentaires