Passer au contenu principal
Adaptive Insights
Knowledge and Support - Adaptive Insights

Références de l’expression SQL

Les expressions SQL peuvent être utilisées à diverses fins d’intégration de données. Les fonctionnalités de langage SQL prises en charge varient en fonction du système par rapport auquel l’expression SQL sera exécutée. Par exemple :

  • Les requêtes par rapport aux données importées vers le stockage peuvent utiliser toutes les fonctionnalités du langage SQL.
  • Les requêtes transférées vers des systèmes externes, par exemple NetSuite, peuvent utiliser des filtres SQL et prendre en charge un ensemble restreint de fonctionnalités.

Pour les limitations spécifiques de type de source de données et les notes d’utilisation, suivez les liens ci-dessous :

Valeurs littérales

Les constances imbriquées telles que les valeurs fixes Date et heure ou les chaînes/numéros constants dans une expression utilisant des valeurs littérales.

Type de données Syntaxe Description Exemple d’utilisation
Texte '*****' Chaîne de texte entre guillemets. Pour inclure un guillemet simple dans le texte, il doit être
suivi d’un deuxième guillemet simple
Il''fait chaud dehors'
Entier # Saisi tel qu’il doit apparaître 999
Flottant #.# Doit toujours comprendre une période (.) dans la valeur flottante même si la partie fractionnaire est 0 7.7
Date et heure HORODATAGE '*****' Mot-clé TIMESTAMP suivi d’un guillemet simple, d’une longueur constante, d’une représentation de la date
formatée yyyy-mm-dd
hh:mm:ss.SSS
HORODATAGE '20130102
03:04:05.006'
Date DATE '*****' Mot-clé DATE suivi d’un guillemet simple, d’une longueur constante, d’une représentation de la date
formatée yyyy-mm-dd
DATE '20130102'
Booléen VRAI (ou
FAUX
Mot-clé VRAI ou mot-clé FAUX FAUX

Opérateurs

Les opérateurs numériques effectuent des opérations mathématiques sur des expressions, valeurs ou colonnes qui sont numériques (entier, flottant, bit). Les opérateurs de texte combinent deux ou plusieurs expressions de texte, valeurs ou colonnes.

S’applique à Opérateur Description Exemple d’utilisation
Nombres + Ajoute deux valeurs numériques ensemble MaColonneNumérique + 1000
Nombres - Soustrait la valeur de droite à la valeur de gauche MaColonneNumérique 1000
Nombres / Divise la valeur de gauche par la valeur de droite MaColonneNumérique / 1000
Nombres * Multiplie deux valeurs ensemble MaColonneNumérique * 1000
Texte || Concatène deux valeurs de texte ensemble MaColonneTexte || ' un suffixe'

Expressions de comparaison et expressions logiques

Ces expressions convertissent à la valeur 1 (vrai) ou 0 (faux) et peuvent être utilisées dans les expressions de jointure de table ou comme comparaisons [expr] au CASE WHEN [expr] THEN [valeur] END. Les expressions de comparaison et les expressions logiques peuvent opérer sur des colonnes de texte, numériques ou de date/temps

S’applique à la Syntaxe Description Exemple d’utilisation
N’importe quel(le) = Vérifie si deux valeurs ou expressions sont égales MaColonne1 = MaColonne2
N’importe quel(le) <> Vérifie si deux valeurs ou expressions sont différentes MaColonne1 <> MaColonne2
N’importe quel(le) EST NULLE Vérifie si une valeur ou une expression est NULLE. La valeur NULLE ne correspond pas à une chaîne vide MaColonne1 EST NULLE
N’importe quel(le) N’EST PAS NULLE Vérifie si une valeur ou une expression convertit à une valeur
nonNULLE
MaColonne1 N’EST PAS NULLE
N’importe quel(le) < Vérifie si la valeur ou l’expression de gauche est inférieure à la valeur ou l’expression de droite MaColonne1 < MaColonne2
N’importe quel(le) <= Vérifie si la valeur ou l’expression de gauche est inférieure ou égale à la valeur ou l’expression de droite MaColonne1 <= MaColonne2
N’importe quel(le) > Vérifie si la valeur ou l’expression de gauche est supérieure à la valeur ou l’expression de droite MaColonne1 > MaColonne2
N’importe quel(le) >= Vérifie si la valeur ou l’expression de gauche est supérieure ou égale à la valeur ou l’expression
de droite
MaColonne1 >= MaColonne2
N’importe quel(le) DANS Vérifie si une valeur ou une expression figure dans un ensemble MaColonne1 DANS (1, 2, 3)
N’importe quel(le) N’EST PAS DANS Vérifie si une valeur ou une expression ne figure pas dans un ensemble MaColonne1 N’EST PAS DANS (1, 2, 3)
Texte COMME Vérifie si une valeur ou expression de texte correspond à un modèle. Le caractère %
opère comme un caractère de remplacement
MaColonne1 EST COMME « %Apple »
Texte N’EST PAS COMME Vérifie si une valeur ou expression de texte ne correspond pas à un modèle. Le caractère % opère comme un caractère de remplacement MaColonne1 N’EST PAS COMME « %Apple »
Comparaisons ET Analyse deux comparaisons et renverra la valeur Vrai uniquement si les deux expressions sont vraies MaColonne1 >= MaColonne2 ET MaColonne1 DANS (1, 2, 3)
Comparaisons OU Analyse deux comparaisons et renverra la valeur Vrai uniquement si l’une des expressions est vraie (MaColonne1 >= MaColonne2) OU
MaColonne1 DANS (1, 2, 3)

Fonctions scalaires

Les fonctions scalaires prennent des valeurs de saisie et renvoient une valeur simple

Syntaxe Description Exemple d’utilisation
Fonctions bit    
CAST(expr COMME BIT) Convertit une valeur Texte/Flottante/Entier en valeur Bit (0 ou 1) CAST(« 1 » COMME BIT) => 1
Fonctions Entier    
CAST(expr COMME ENTIER) Convertit une valeur Texte/Flotante/Entier en valeur Entier CAST(« 2 » COMME ENTIER) => 2
TIMESTAMPDIFF([datepart] DE [datetime_expr1] À [datetime_expr2]) Extrait le nombre [datepart]'s (JOURS) de
[datetime_expr1] à [datetime_expr2]
TIMESTAMPDIFF(HORODATAGE JOUR DU « 01/02/2013 00:00:00.000 » HORODATAGE À « 20130210
00:00:00.000 ») => 9
DATEDIFF([datepart] DE [date_expr1] À [date_expr2]) Extrait le nombre [datepart]'s (JOURS) de
[date_expr1] à [date_expr2]
DATEDIFF(DATE DE DÉBUT JOUR « 01/02/2013 » DATE DE FIN « 2013-02-10 ») => 9
EXTRAIRE([datepart] DE [datetime_expr]) Retire la [datepart] (ANNÉE/MOIS/JOUR/HEURE/MINUTE/SECONDE)de [datetime_expr] EXTRAIRE(DATE DE DÉBUT MOIS '01/02/2013') => 2
LONGUEUR([text_expr]) Retire la longueur de [text_expr] LONGUEUR(« Hello ») => 5
POSITION([find_text_expr] DANS [search_text_expr]) Retire le premier index de [find_text_expr] dans
[search_text_expr]. Le premier caractère est 1.
POSITION(« at » DANS « hat ») => 2
POSITION([find_text_expr] DANS [search_text_expr] DE [start]) Retire le premier index de [find_text_expr] dans
[search_text_expr] après [start] l’index (un [start] sur 1
signifie rechercher le dernier). Le premier caractère est 1.
POSITION(« a » DANS « a hat » À 1) => 4
Fonctions de flottement    
CAST(expr COMME VALEUR FLOTTANTE) Convertit une valeur Texte/Flotante/Entier en une valeur flottante CAST(« 1.01 » COMME VALEUR FLOTTANTE) => 1,01
Fonctions de texte    
CAST(expr COMME NVARCHAR) Convertit une valeur Texte/Entier/Bit en valeur Texte CAST(1,01 COMME NVARCHAR) => « 1.01 »
DÉCOUPER([text_expr]) Retire les espaces principaux et les espaces secondaires de [text_expr] DÉCOUPER(«  xxx « ) => « xxx »
SOUS-CHAÎNE([text_expr] DE
[start_int_expr])
Extrait une partie du [text_expr] de la position
[start_int_expr]. Le premier caractère est en position 1
SOUS-CHAÎNE(« aaabbbccc » DE 3) => « bbbccc »
SOUS-CHAÎNE([text_expr] DE
[start_int_expr] POUR [len_int_expr])
Extrait des caractères [len_int_expr] de [text_expr] de la position [start_int_expr]. Le premier caractère est en position 1 SOUS-CHAÎNE(« aaabbbccc » DE 3 POUR 3) =>
« bbb »
Fonctions date et heure    
CAST([text_expr] COMME HORODATAGE DE
« [timestamp_format] »)
Convertit une valeur Texte avec une structure/un format connu(e) en une valeur Date et heure. Seulement certaines valeurs [timestamp_format] sont autorisées (voir ci-dessous) CAST(« 20130102 » COMME HORODATAGE DE
« aaa-mm-dd ») => HORODATAGE « 02/01/2013
00:00:00.000 »
TRUNCATE_TIMESTAMP([datetime_part]
DE [datetime_expr])
Tronque la date et heure [datetime_expr] en calendrier
grégorien [datetime_part]  ANNÉE/MOIS/JOUR/HEURE
TRONQUER_HORODATAGE(MOIS DE
HORODATAGE « 22/11/2013 12h13h14.015 ») =>
HORODATAGE « 01/11/2013 00:00:00.000 »
Fonctions de date    
CAST([text_expr] COMME DATE DE DÉBUT
« [date_format] »)
Convertit une valeur Texte avec une structure/un format connu(e) en une valeur Date. Seules certaines valeurs [date_format] sont autorisées
(voir ci-dessous)
CAST(« 02/01/2013 » COMME DATE DE DÉBUT « aaaa-mm-jj »)
=> DATE « 02/01/2013 00:00:00.000 »
TRUNCATE_DATE([date_part] DE DÉBUT
[date_expr])
Tronque la date [datetime_expr] en calendrier grégorien
[date_part] de ANNÉE/MOIS/JOUR/HEURE
TRUNCATE_DATE(DATE DE DÉBUT DE MOIS « 22/11/2013 ») => DATE « 01/11/2013 00:00:00.000 »

Constantes de temps

Adaptive Integration prend en charge deux constantes liées à la date et l’heure actuelles pouvant être utilisées dans des expressions SQL :

Syntaxe Description Exemple d’utilisation
CURRENT_TIMESTAMP Indique la date et l’heure actuelles et peut être utilisé chaque fois que les objets Date et Heure sont utilisés EXTRAIRE(ANNÉE DE DÉBUT CURRENT_TIMESTAMP)
CURRENT_DATE Indique la date actuelle et peut être utilisé chaque fois que les objets Date sont utilisés (DATEDIFF(JOUR DE DÉBUT CURRENT_DATE À [column_reference])) <= 30

Instructions CASE

Les instructions Case sont utilisées pour sélectionner une valeur en fonction d’autres valeurs, comme les instructions Si dans de nombreuses langues

Syntaxe Description Exemple d’utilisation
CASE WHEN [logic_expr1] PUIS [result_expr1] WHEN [logic_expr#] THEN [result_expr#] ELSE [result_expr_def] FIN La valeur [result_expr] de la première valeur [logic_expr]
renvoyant la valeur Vrai
CASE WHEN 1>2 THEN « x » ELSE 'y' END => « y »
CASE [expr] WHEN [expr1] THEN [result_expr1] WHEN [expr#] THEN [result_expr#] ELSE [result_expr_def] END La valeur [result_expr] de la première valeur [expr#]
égale à [expr] est renvoyée
CASE 2 WHEN 1 THEN « x » ELSE « y » END => « y »

Expressions de relation de table

Lorsque des tables de jointure utilisent des éléments « Relations de table », une expression de jointure doit être spécifiée. Il est possible que les deux tables devant être jointes comportent des colonnes avec le même nom. Dans ces cas, les colonnes de la table principale peuvent être qualifiées à l’aide de « P ». (par exemple, P."MyColumn") et la table liée utilisant « R. » (par exemple R."MyColumn")

La table suivante détaille les valeurs [timestamp_format] pouvant être utilisées dans la fonction CAST([text_expr] COMME HORODATAGE DE « [timestamp_format] »)

Format
« mon dd yyyy hh:mitt »
« mm/dd/yyyy »
« yyyy/mm/dd »
« dd/mm/yyyy »
« dd/mm/yyyy »
« dd/mm/yyyy »
« dd/mon/yyyy »
« mon/dd/yyyy »
« mon/dd/yyyy/hh:mi:ss:mmmmmmtt »
« mm/dd/yyyy »
« yyyy/mm/dd »
« yyyymmdd »
« dd mon yyyy hh:mi:ss:mmmmmm »
« yy/mm/dd/hh:mi:ss »
« yy/mm/dd hh:mi:ss.mmmmmm »
« yy/mm/ddThh:mi:ss.mmmmmm »

Sources de données - Limitations spécifiques SQL filtre d’importation de données et utilisation de notes

Sources de données - Les limitations spécifiques SQL filtre d’importation de données et l’utilisation de notes sont décrites ci-dessous.

NetSuite Tables de source de données

Lors de l’envoi d’une requête à NetSuite directement (au lieu d’envoyer une requête aux enregistrements importés dans la zone de stockage de NetSuite), les expressions de filtre sont limitées aux fonctionnalités exposées par NetSuite via les services Web.

  • Des filtres de colonne simples avec des expressions de comparaison et de logique peuvent être utilisés lors de l’envoi d’une requête à NetSuite.
  • Les filtres peuvent être liés ensemble (AND) mais ne peuvent pas être associés ensemble (OR).
  • Les opérateurs (e.g. +, , /, *, $, ||) ne peuvent pas être utilisés.
  • Les fonctions scalaires ne peuvent pas être utilisées.
  • Les instructions CASE ne peuvent pas être utilisées.
  • Pour définir un flitre sur une colonne personnalisée, cette dernière doit être marquée pour l’importation.
  • Certains filtres de colonne nécessitent l’activation de fonctionnalités NetSuite spécifiques pour que le filtre fonctionne.
  • Certaines tables et certaines colonnes ne prennent pas en charge le filtrage.

Tables de source de données pour feuille de calcul

Lors d’une requête directe de feuille de calcul (par opposition à la requête d’enregistrements importés dans une zone de stockage, à partir d’une feuille de calcul), l’expression de filtre peut uniquement spécifier l’"ID de chargement" du fichier sur lequel porte la requête. Si aucun "Id de chargement" n’est spécifié, les données du dernier fichier importé s’affichent.

JDBC Tables de source de données

  • Des filtres de colonne simples avec des expressions de comparaison et de logique peuvent être utilisés lors de l’envoi d’une requête de JDBC sources de données.
  • Les opérateurs (e.g. +, , /, *, $, ||) ne peuvent pas être utilisés.
  • Les fonctions scalaires ne peuvent pas être utilisées.
  • Les instructions CASE ne peuvent pas être utilisées.

Salesforce Tables de source de données

  • Des filtres de colonne simples avec des expressions de comparaison et de logique peuvent être utilisés lors de l’envoi d’une requête à Salesforce.
  • Les opérateurs (e.g. +, , /, *, $, ||) ne peuvent pas être utilisés.
  • Les fonctions scalaires ne peuvent pas être utilisées.
  • Les instructions CASE ne peuvent pas être utilisées.

Intacct Tables de source de données

  • Des filtres de colonne simples avec des expressions de comparaison et de logique peuvent être utilisés lors de l’envoi d’une requête à Intacct. Cela comprend les instructions IN(..), IS NULL, IS NOT NULL, LIKE et NOT LIKE.
  • Intacct ne prend pas en charge l’opérateur <>, utiliser plutôt la comparaison NOT IN().
  • Les opérateurs (e.g. +, , /, *, $, ||) ne peuvent pas être utilisés.
  • Les fonctions scalaires ne peuvent pas être utilisées.
  • Les instructions CASE ne peuvent pas être utilisées.
  • Les filtres par rapport aux colonnes booléennes doivent utiliser les mots-clés vrai/faux car Intacct ne reconnaît pas 1/0 au même titre que vrai/faux.

Microsoft Dynamics GP Tables de source de données

  • Des filtres de colonne simples avec des expressions de comparaison et de logique peuvent être utilisés lors de l’envoi d’une requête à Microsoft Dynamics GP.
  • Les opérateurs (e.g. +, , /, *, $, ||) ne peuvent pas être utilisés.
  • Les fonctions scalaires ne peuvent pas être utilisées.
  • Les instructions CASE ne peuvent pas être utilisées.