Fonctions de transformation SQL

Si vous avez lu la philosophie qui se cache derrière le projet Fuzible, vous avez vu que lorsque vous requêtez autre chose qu'une base de données, Fuzible prend en charge le langage SQL-92 pour récupérer et manipuler les données de n'importe quelle source.

Cela signifie que vous pouvez requêter un fichier, une API, une boîte mail... en utilisant SQL !

Vous pouvez faire pratiquement tout ce que vous feriez avec une base de données., d'un simple SELECT * à un SELECT contenant des sous-requêtes et des jointures.

Voici une liste de la syntaxe supportée :

Quand vous écrivez une requête, un menu contextuel apparaît et vous fait des suggestions, ce qui s'avère très pratique.

Fonctions supportées :

TRANSFORMATION
SUBSTRINGExtrait une chaîne de caractère dans une autre.
CONCATConcatène des données de champs, ou des valeurs
CONVERTForce la conversion de données
CASE field WHEN … THEN … ELSE … ENDConditionnement
LTRIM, RTRIMSuppression des espaces avant ou après chaque chaîne de caractères
ISNULL, COALESCERemplace une valeur vide par quelque chose d'autre
LPAD, RPADPadding droite/gauche : ajoute une chaîne de caractères à une autre pour atteindre une taille définie
LENGTHLongueur de la chaîne
CHARINDEXCherche un caractère ou une chaîne dans une autre
LOWER, UPPERMajuscule ou minuscule
REPLACERemplace une valeur par une autre
AGGREGATION
SUMThe sum from a set of values
MAX, MINThe min or max value from a set of values
AVGThe average from a set of values
COUNTThe number of rows from a Select statement
THE BASICS
SELECT DISTINCTRemoves duplicates
SELECT TABLE xNot a standard SQL-92 function. Allows Fuzible to manipulate data from any of the retrieved data tables
SELECT TABLE x ONLYNot a standard SQL-92 function. Allows Fuzible to only retrieve a single table from a multi-datatables result
LIMIT, TOPLimits the quantity of retrieved rows
JOIN (LEFT, OUTER, INNER, RIGHT)Joins between tables, files, webservices…
WHEREFilters
ORDER BYOrder the result set
GROUP BYAggregations
UNIONMerge data from multiple SELECT statements.
ADVANCED FUNCTIONS
Fonctions mathématiques sur des transformations SQLEx : SELECT SUBSTRING(li_sample, CHARINDEX(li_sample, “-“) + 1, 10) FROM myfile.csv
Sous-requêtesEx : SELECT * FROM (select * FROM myfile.csv) as subQ
Ex 2 : SELECT * FROM myfile.csv WHERE id_sample NOT IN (SELECT id FROM myotherfile.csv)

 Fonctions non supportées :

HAVINGFiltrage fonctionnant en complément d'un GROUP BY
« null »NULL est une syntaxe purement "base de données"
Ex : CASE WHEN x IS NULL THEN doit être écrit ainsi : CASE WHEN x = ” THEN
Field framingVous ne pouvez pas écrire ce genre de chose :
Ex : SELECT [myfield] FROM [myfile]
Ex2 : SELECT “myfield” FROM “myfile”
« GETDATE » ou « CURRENT_TIMESTAMP »Utilisez plutôt les paramètres dynamiques : Ex : SELECT * FROM myfile WHERE year > {%YYYY}
Une sous-requête pour un champEx : SELECT (select id FROM myfield.csv) as id FROM myotherfile.csv
Fonctions mathématiques sur des résultats aggrégésEx : SELECT COUNT(*) + 10 FROM myfile
fr_FRFrench