

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Capacidades de SQL para controles mínimos de agregação e comparação
<a name="custom-sql-capabilities"></a>

A tabela a seguir lista as construções e funções SQL suportadas e não suportadas quando uma regra de análise personalizada usa limites mínimos de agregação e controles de comparação no mecanismo de análise Spark. As categorias de funções seguem a referência do AWS Clean Rooms Spark SQL.


| Categoria | Estrutura de SQL | Compatível | Expressões de tabela comuns (CTEs) | Cláusula SELECT final | 
| --- |--- |--- |--- |--- |
| Construções de consulta |  + CACHE TABLE<br />+ Dicas de consulta<br />+ Modelo de análise (consultas parametrizadas)  | Sim | Compatível | Compatível | 
| Cláusulas |  + SELECT<br />+ SELECT DISTINCT<br />+ FROM<br />+ FROMSUBCONSULTA<br />+ FROMTABELA EMBUTIDA (VALORES)<br />+ WHERE<br />+ GROUP BY<br />+ HAVING<br />+ ORDER BY<br />+ WITH(CTE)  | Sim | Compatível | Compatível | 
|  + GROUP BY CUBE<br />+ GROUP BY ROLLUP<br />+ GROUP BY GROUPING SETS<br />+ EXISTS<br />+ CLUSTER BY<br />+ DISTRIBUTE BY<br />+ SORT BY<br />+ LATERAL JOIN<br />+ PIVOT / UNPIVOT<br />+ WITH RECURSIVE  | Não | — | — | 
| Cláusulas de união |  + JOIN INNER<br />+ JOIN LEFT<br />+ JOIN FULL OUTER<br />+ JOIN CROSS<br />+ JOIN RIGHT<br />+ JOIN NATURAL  | Sim | Compatível | Compatível | 
|  + JOIN LEFT SEMI<br />+ JOIN LEFT ANTI  | Não | — | — | 
| Configurar operadores |  + UNION<br />+ UNION ALL  | Sim | Compatível | Compatível | 
|  + EXCEPT<br />+ EXCEPT ALL<br />+ INTERSECT<br />+ INTERSECT ALL  | Não | — | — | 
| Limites de classificação e linha |  + ORDER BYASC/DESC<br />+ ORDER BYANULA PRIMEIRO<br />+ ORDER BYOS NULOS SÃO OS ÚLTIMOS<br />+ LIMIT  | Sim | Compatível | Compatível | 
|  + OFFSET  | Não | — | — | 
| Condições |  + =<br />+ \!= / <><br />+ <<br />+ <=<br />+ ><br />+ >=<br />+ IN<br />+ NOT IN<br />+ LIKE<br />+ NOT LIKE<br />+ RLIKE<br />+ BETWEEN<br />+ IS TRUE / IS FALSE<br />+ AND<br />+ OR<br />+ NOT<br />+ IS DISTINCT FROM  | Sim | Compatível | Compatível | 
|  + <=> (igualdade de segurança nula)  | Não | — | — | 
| Funções agregadas |  + Função AVG<br />+ Função COUNT<br />+ Função COUNT DISTINCT<br />+ Função SUM<br />+ Função MIN<br />+ Função MAX<br />+ STDDEV/STDDEV\_SAMPfunções<br />+ Função STDDEV\_POP<br />+ VAR\_SAMP/VARIANCEfunções<br />+ Função VAR\_POP<br />+ Função SKEWNESS<br />+ Função APPROX\_COUNT\_DISTINCT<br />+ Função COLLECT\_LIST<br />+ Função COLLECT\_SET<br />+ Função PERCENTILE<br />+ Função APPROX\_PERCENTILE<br />+ Função MEDIAN  | Sim | Compatível | Quando um limite de agregação é definido:MIN,,MAX,PERCENTILE, APPROX\_PERCENTILE MEDIANCOLLECT\_LIST, e COLLECT\_SET deve ser combinado com uma agregação qualificada (,,). AVG COUNT SUM Eles não podem ser usados como uma agregação independente.<br />Quando somente os controles de comparação são definidos: essa restrição não existe.<br />Todas as outras funções agregadas são suportadas. | 
|  + Função ANY\_VALUE<br />+ Função BOOL\_AND<br />+ Função BOOL\_OR  | Não | — | — | 
| Funções de array |  + Função ARRAY<br />+ Função ARRAY\_CONTAINS<br />+ Função ARRAY\_DISTINCT<br />+ Função ARRAY\_INTERSECT<br />+ Função ARRAY\_JOIN<br />+ Função ARRAY\_REMOVE<br />+ Função ARRAY\_SORT<br />+ Função ARRAY\_UNION<br />+ Função FLATTEN<br />+ Função EXPLODE  | Sim | Compatível | Compatível | 
|  + Função ARRAY\_EXCEPT  | Não | — | — | 
| Expressões condicionais |  + Função IS NULL<br />+ Função IS NOT NULL<br />+ Função GREATEST<br />+ Função LEAST<br />+ CASE/WHENfunções<br />+ Função IF<br />+ Função COALESCE<br />+ Função NULLIF<br />+ Função NVL<br />+ Função NVL2  | Sim | Compatível | Compatível | 
| Funções do construtor |  + Função STRUCT<br />+ Função NAMED\_STRUCT<br />+ Função MAP  | Sim | Compatível | Compatível | 
| Funções de formatação de tipo de dados |  + Função STR\_TO\_MAP<br />+ Função BASE64<br />+ Função UNBASE64<br />+ Função HEX<br />+ Função UNHEX<br />+ Função TO\_DATE<br />+ Função DECODE<br />+ Função ENCODE<br />+ Função CAST  | Sim | Compatível | Compatível | 
|  + Função TO\_CHAR<br />+ Função TO\_NUMBER  | Não | — | — | 
| Perfis de data e hora |  + Função CURRENT\_DATE<br />+ Função CURRENT\_TIMESTAMP<br />+ Função TO\_TIMESTAMP<br />+ Função DATE\_DIFF<br />+ Função DATE\_TRUNC<br />+ Função DATE\_PART<br />+ Função EXTRACT<br />+ Função CONVERT\_TIMEZONE<br />+ Função FROM\_UTC\_TIMESTAMP<br />+ Função TIMESTAMP<br />+ DAY/DAYOFMONTHfunções<br />+ Função DAYOFWEEK<br />+ Função WEEKOFYEAR<br />+ Função MONTH<br />+ Função YEAR<br />+ Função HOUR<br />+ Função MINUTE<br />+ Função SECOND  | Sim | Compatível | Compatível | 
|  + Função DAYOFYEAR<br />+ Função DATE\_ADD<br />+ Função ADD\_MONTHS  | Não | — | — | 
| Funções de hash |  + Função MD5<br />+ Função SHA<br />+ Função SHA1<br />+ Função SHA2<br />+ Função XXHASH64  | Sim | Compatível | Compatível | 
| Funções JSON |  + Função GET\_JSON\_OBJECT<br />+ Função TO\_JSON  | Sim | Compatível | Compatível | 
| Funções matemáticas |  + Função ABS<br />+ CEIL/CEILINGfunções<br />+ Função FLOOR<br />+ Função ROUND<br />+ Função LN<br />+ LOG/LOG10funções<br />+ Função POWER<br />+ Função SQRT<br />+ RAND/RANDOMfunções<br />+ Função EXP<br />+ Função SIGN<br />+ Função TRUNC  | Sim | Compatível | Compatível | 
|  + Função TRUNCATE<br />+ Função CBRT<br />+ Função PI<br />+ Função RADIANS<br />+ Função ACOS<br />+ Função ASIN<br />+ Função ATAN<br />+ Função ATAN2<br />+ Função COS<br />+ Função COT<br />+ Função SIN<br />+ Função DEGREES  | Não | — | — | 
| Símbolos de operadores matemáticos |  + \+<br />+ -<br />+ \*<br />+ /<br />+ %  | Sim | Compatível | Compatível | 
| Funções escalares |  + Função CARDINALITY<br />+ Função SIZE  | Sim | Compatível | Compatível | 
| Funções de string |  + Função CONCAT<br />+ Função LOWER<br />+ Função UPPER<br />+ LENGTH/CHAR\_LENGTH/CHARACTER\_LENGTHfunções<br />+ SUBSTR/SUBSTRINGfunções<br />+ Função TRIM<br />+ Função BTRIM<br />+ Função LTRIM<br />+ Função RTRIM<br />+ Função POSITION<br />+ Função REPLACE<br />+ Função REPEAT<br />+ Função REGEXP\_REPLACE<br />+ Função REGEXP\_SUBSTR<br />+ Função SPLIT<br />+ Função FORMAT\_STRING<br />+ Função UUID<br />+ Função LPAD<br />+ Função RPAD<br />+ Função LEFT<br />+ Função RIGHT  | Sim | Compatível | Compatível | 
|  + Função REVERSE<br />+ Função TRANSLATE<br />+ Função REGEXP\_COUNT<br />+ Função REGEXP\_INSTR<br />+ Função SPLIT\_PART  | Não | — | — | 
| Privacy-related funções |  + Função consent\_tcf\_v2\_decode<br />+ Função consent\_gpp\_v1\_decode  | Sim | Compatível | Compatível | 
| Funções de janela |  + Função ROW\_NUMBER<br />+ Função RANK<br />+ Função DENSE\_RANK<br />+ Função LAG<br />+ Função LEAD<br />+ AVGFunção de janela<br />+ COUNTFunção de janela<br />+ SUMFunção de janela<br />+ MINFunção de janela<br />+ MAXFunção de janela<br />+ STDDEV\_POPFunção de janela<br />+ STDDEV\_SAMPFunção de janela<br />+ VAR\_POPFunção de janela<br />+ VAR\_SAMPFunção de janela<br />+ SKEWNESSFunção de janela<br />+ APPROX\_COUNT\_DISTINCTFunção de janela<br />+ APPROX\_PERCENTILEFunção de janela<br />+ PERCENTILEFunção de janela  | Sim | Compatível | Quando um limite de agregação é definido:LAG,, JanelaLEAD, Janela MINMAX, Janela e Janela APPROX\_PERCENTILE PERCENTILE devem ser combinadas com uma agregação qualificada. Eles não podem ser usados como um valor independente.<br />Quando somente os controles de comparação são definidos: essa restrição não existe.<br />Todas as outras funções da janela são suportadas. | 
|  + FIRST/FIRST\_VALUEfunções<br />+ LAST/LAST\_VALUEfunções<br />+ Função NTH\_VALUE<br />+ Função CUME\_DIST<br />+ Função PERCENT\_RANK<br />+ Função NTILE  | Não | — | — | 
| Funções de criptografia e descriptografia |  + Função AES\_ENCRYPT<br />+ Função AES\_DECRYPT  | Não | — | — | 
| Funções do Hyperloglog |  + Função HLL\_SKETCH\_AGG<br />+ Função HLL\_UNION\_AGG<br />+ Função HLL\_SKETCH\_ESTIMATE<br />+ Função HLL\_UNION  | Não | — | — | 