Remplacer des caractères dans une chaîne de caractères
Utilisation de %SCANRPL( from : to : source { : start } )
Utilisation de %SCANRPL( from : to : source { : start } )
SELECT item ,LISTAGG(TRIM(couleur), ‘,’) WITHIN GROUP(ORDER BY couleur)AS couleursFROM articleGROUP BY item Explications :LISTAGG permet de lister dans une colonne les données issues de plusieurs lignes.LISTAGG(colonne_à_concaténer , ‘séparateur’) WITHIN GROUP(ORDER BY colonne_de_tri) Dans l’exemple donné, le SQL transforme le fichier article suivant en 2 lignes composées de la colonne item et d’une colonne de couleurs … Lire la suite
Sur une ligne de commande : CALL QCMD On obtient 4 lignes : Et pour avoir encore plus grand : F11=Plein écran
Par exemple, supprimer tous les fichiers pdf de plus d’1 an dans un répertoire : SELECT QCMDEXC(‘rmvlnk objlnk( »’ CONCAT TRIM(CAST(path_name AS VARCHAR(200))) CONCAT »’)’) FROM TABLE(qsys2.ifs_object_statistics( ‘/home/monRepertoire’)) WHERE path_name LIKE ‘%.pdf’ AND CREATE_TIMESTAMP < CURRENT_TIMESTAMP – 1 YEARS Explications :– ifs_object_statistics permet de lister les fichiers d’un répertoire de l’IFS exemple : SELECT CAST(path_name AS … Lire la suite
Permet dans un RPG d’identifier son programme appelant. Cela peut servir par exemple pour conditionner certaines actions ou laisser une trace dans un fichier log. en SQLRPGLE :dcl-ds N PSDS; nom_du_pgm CHAR(10) POS(1);end-ds; dcl-s appelant char(10); EXEC SQL SELECT program_name INTO :appelant FROM TABLE(stack_info(‘*’)) WHERE program_name not in (‘ ‘ , :nom_du_pgm) AND ordinal_position < … Lire la suite
CHGTCPDMN + F4
DELETE FROM monfichier aWHERE RRN(a) NOT IN ( SELECT MAX(RRN(b)) FROM monfichier b WHERE (a.cle1, a.cle2) = (b.cle1, b.cle2) ) Explications :La fonction RRN permet de récupérer le numéro d’enregistrement de la ligne. Le SQL supprime donc les doublons (clé1+clé2 dans l’exemple) qui ne correspondent pas au dernier numéro d’enregistrement. Si on veut conserver le … Lire la suite
SELECT SUBSTR(table_name, 1 , 12) , last_used_timestamp FROM systablestat WHERE table_schema = ‘MaBibliotheque’
Permet d’affecter à la variable jour le numéro du jour de la semaine du jour comme suit :1:Lundi 2:Mardi 3:Mercredi 4:Jeudi 5:Vendredi 6:Samedi 7:Dimanche(et sans s’appuyer sur un calendrier!) en SQLRPGLE :EXEC SQL SET :jour= (CASE WHEN DAYOFWEEK(CURRENT_DATE) = 1 THEN 7 ELSE DAYOFWEEK(CURRENT_DATE)-1 END); Explications : la fonction SQL DAYOFWEEK permet de récupérer le … Lire la suite
Free RPG : dcl-s dateDuJour char(8);dateDuJour = %char(%date():*ISO0);