Référence SQL de confidentialité différentielle

Cette rubrique fournit les informations suivantes :

  • Une référence pour les fonctions SQL propres à la confidentialité différentielle.

  • Une liste des types de données, des opérateurs, de la syntaxe de requête et des fonctions Snowflake pris en charge par la confidentialité différentielle.

Fonctions de la confidentialité différentielle

Les fonctions suivantes sont propres à la confidentialité différentielle.

Fonction

Description

DP_INTERVAL_LOW

Renvoie la limite inférieure de l’intervalle de bruit.

DP_INTERVAL_HIGH

Renvoie la limite supérieure de l’intervalle de bruit.

Types de données

Les types de données suivants sont pris en charge.

Type de données

Remarques

BOOLEAN

CHAR, CHARACTER

DATE

DATETIME

DECIMAL, NUMERIC

DOUBLE, DOUBLE PRECISION, REAL

FLOAT, FLOAT4, FLOAT8

INT, INTEGER , BIGINT, SMALLINT, TINYINT, BYTEINT

NUMBER

STRING

TEXT

TIME

TIMESTAMP, TIMESTAMP_NTZ

Les types de données d’heure avec fuseaux horaires ne sont pas pris en charge. Utilisez TIMESTAMP ou TIMESTAMP_NTZ.

VARCHAR

Syntaxe de requête

Les éléments suivants de la syntaxe de requête Snowflake sont pris en charge.

Syntaxe

Remarques

SELECT

SELECT ALL

FROM

INNER JOIN ON

Voir Jointures prises en charge.

INNER JOIN USING

Voir Jointures prises en charge.

LEFT OUTER JOIN ON

Voir Jointures prises en charge.

LEFT OUTER JOIN USING

Voir Jointures prises en charge.

RIGHT OUTER JOIN ON

Voir Jointures prises en charge.

RIGHT OUTER JOIN USING

Voir Jointures prises en charge.

FULL OUTER JOIN ON

Voir Jointures prises en charge.

FULL OUTER JOIN USING

Voir Jointures prises en charge.

NATURAL JOIN USING

Voir Jointures prises en charge.

WHERE

GROUP BY

Les alias ne sont pas pris en charge dans la clause GROUP BY. Par exemple, GROUP BY col_a AS column_a n’est pas pris en charge.

Lorsqu’une clause GROUP BY est utilisée dans la requête la plus externe, les arguments de chacun des agrégats doivent être les mêmes. Par exemple, SELECT g, SUM(a), COUNT(a) FROM t GROUP BY g est pris en charge. En revanche, SELECT g, SUM(a), COUNT(b) FROM t GROUP BY g n’est pas pris en charge.

Limitations des syntaxes de requête

Les identifiants entre guillemets (par exemple, les noms de colonnes, de tables, de schémas et de bases de données) ne sont pas pris en charge.

Opérateurs

Opérateurs arithmétiques

Les opérateurs arithmétiques suivants sont pris en charge.

Opérateur

Remarques

- (unaire)

-

+ (unaire)

Ne fonctionne pas avec des chaînes.

+

*

/

%

Opérateurs de comparaison

Les opérateurs de comparaison suivants sont pris en charge.

Opérateur

Remarques

=

!=

<

>

<=

>=

Opérateurs logiques

Les opérateurs logiques suivants sont pris en charge.

Opérateur

Remarques

AND

NOT

OR

Définir les opérateurs

Les opérateurs d’ensemble suivants sont pris en charge.

Opérateur

Remarques

INTERSECT

UNION [ ALL ]

MINUS

Opérateurs de sous-requête

Les opérateurs de sous-requête ne sont pas pris en charge.

Fonctions

Fonctions d’agrégation

Les fonctions d’agrégation sont prises en charge.

Fonction

Remarques

ANY_VALUE

Prise en charge uniquement en tant qu’agrégat pour une sous-requête avec une clause GROUP BY.

AVG

BOOLAND_AGG

Prise en charge uniquement lorsque les deux conditions suivantes sont remplies :

  • Utilisée comme agrégat pour une sous-requête avec une clause GROUP BY.

  • Son argument est un type de données BOOLEAN.

BOOLOR_AGG

Prise en charge uniquement lorsque les deux conditions suivantes sont remplies :

  • Utilisée comme agrégat pour une sous-requête avec une clause GROUP BY.

  • Son argument est un type de données BOOLEAN.

BOOLXOR_AGG

Prise en charge uniquement lorsque les deux conditions suivantes sont remplies :

  • Utilisée comme agrégat pour une sous-requête avec une clause GROUP BY.

  • Son argument est un type de données BOOLEAN.

COUNT

COUNT DISTINCT

MEDIAN

Non prise en charge lorsqu’elle est utilisée dans une sous-requête avec GROUP BY

MIN

Non prise en charge lorsqu’elle est utilisée dans une sous-requête avec GROUP BY

MAX

Non prise en charge lorsqu’elle est utilisée dans une sous-requête avec GROUP BY

SUM

VAR_POP, VARIANCE_POP

Fonctions d’expression au niveau du bit

Les fonctions d’expression au niveau du bit ne sont pas prises en charge.

Fonctions d’expressions conditionnelles

Les fonctions d’expressions conditionnelles suivantes sont prises en charge.

Fonction

Remarques

[ NOT ] IN

CASE

COALESCE

DECODE

EQUAL_NULL

GREATEST

IFF

IS [NOT] NULL

LEAST

Fonctions contextuelles

Les fonctions contextuelles ne sont pas prises en charge.

Fonctions de conversion

Les fonctions de conversion suivantes sont prises en charge.

Fonction

Remarques

CAST, ::

Les colonnes doivent être explicitement non « null » pour être converties. Pour ce faire, filtrez les valeurs « null » avant la conversion.

La conversion d’autres types de données en valeur STRING n’est pas prise en charge.

TO_BOOLEAN

TO_CHAR , TO_VARCHAR

TO_DATE , DATE

TO_DECIMAL , TO_NUMBER , TO_NUMERIC

TO_DOUBLE

TO_TIME , TIME

TO_TIMESTAMP , TO_TIMESTAMP_*

TRY_CAST

TRY_TO_BOOLEAN

TRY_TO_DATE

TRY_TO_DECIMAL, TRY_TO_NUMBER, TRY_TO_NUMERIC

TRY_TO_DOUBLE

TRY_TO_TIME

TRY_TO_TIMESTAMP , TRY_TO_TIMESTAMP_*

Fonctions de génération de données

Les fonctions de génération de données ne sont pas prises en charge.

Fonctions de métrique des données

Les fonctions de métrique des données ne sont pas prises en charge. Les fonctions de métrique des données (DMFs) définies par l’utilisateur ne sont pas non plus prises en charge.

Fonctions de date et d’heure

Les fonctions de date et d’heure suivantes sont prises en charge.

Fonction

Remarques

ADD_MONTHS

DATE_FROM_PARTS

DATE_PART

Les parties de date et d’heure suivantes ne sont pas prises en charge : dayofweek, week, yearofweek, nanosecond, epoch_* et timezone_*.

DATE_TRUNC

Seules les valeurs year et month sont prises en charge.

DATEADD

Seules les valeurs year et month sont prises en charge.

DATEDIFF

Seules les valeurs year et month sont prises en charge.

DAYNAME

EXTRACT

Les parties de date et d’heure suivantes ne sont pas prises en charge : dayofweek, week, yearofweek, nanosecond, epoch_* et timezone_*.

HOUR

LAST_DAY

MINUTE

MONTHS_BETWEEN

NEXT_DAY

SECOND

TIME_FROM_PARTS

TIMEADD

Seules les valeurs year et month sont prises en charge.

TIMEDIFF

Seules les valeurs year et month sont prises en charge.

TIMESTAMPADD

Seules les valeurs year et month sont prises en charge.

TIMESTAMPDIFF

Seules les valeurs year et month sont prises en charge.

TRUNC

YEAR* / DAY* / WEEK* / MONTH / QUARTER

Fonctions de chiffrement

Les fonctions de chiffrement ne sont pas prises en charge.

Fonctions de fichiers

Les fonctions de fichiers ne sont pas prises en charge.

Fonctions géospatiales

Les fonctions géospatiales ne sont pas prises en charge.

Fonctions de hachage

Les fonctions de hachage ne sont pas prises en charge.

Fonctions de métadonnées

Les fonctions de métadonnées ne sont pas prises en charge.

Fonctions numériques

Les fonctions numériques suivantes sont prises en charge.

Fonction

Remarques

ABS

ACOS

ACOSH

ATAN

ATANH

CEIL

COS

COSH

FLOOR

MOD

ROUND

Prend actuellement en charge uniquement 0 pour le paramètre d’échelle ; valeur par défaut pour le mode d’arrondi

SIGN

Fonctions d’expression régulière

Les fonctions d’expression régulière ne sont pas prises en charge.

Fonctions de données semi-structurées et structurées

Les fonctions de données semi-structurées et structurées ne sont pas prises en charge.

Fonctions de chaîne et fonctions binaires

Les fonctions de chaîne et fonctions binaires sont prises en charge.

Fonction

Remarques

CONTAINS

LENGTH , LEN

LOWER

POSITION

SUBSTR , SUBSTRING

UPPER

Fonctions système

Les fonctions système ne sont pas prises en charge.

Fonctions de table

Les fonctions de table ne sont pas prises en charge.