TO_DATE (Lakehouse v1)
Converte uma expressão em uma data, incluindo:
-
Conversão de uma string em formato de timestamp para data: extrai uma data da string fornecida.
-
Conversão de um inteiro para data: interpreta o inteiro como o número de dias antes (para números negativos) ou depois (para números positivos) da época Unix (meia-noite de 1º de janeiro de 1970). Observe que um valor Date varia de
1000-01-01a9999-12-31. O PlaidCloud Lakehouse retorna um erro se você executar “SELECT TO_DATE(9999999999999999999)”. -
Conversão de uma string para data usando o formato especificado: a função recebe dois argumentos e converte a primeira string em uma data com base no formato especificado na segunda string. Para personalizar o formato de data e hora no PlaidCloud Lakehouse, você pode usar especificadores. Para ver uma lista completa dos especificadores compatíveis, consulte Formatação de data e hora.
Os formatos de data são expressos usando a especificação strftime. Veja a referência rápida.
Veja também: TO_TIMESTAMP
Parâmetros do strftime
Seção intitulada “Parâmetros do strftime”Referência rápida
Seção intitulada “Referência rápida”| Exemplo | Saída |
|---|---|
%m/%d/%Y |
06/05/2013 |
%A, %B %e, %Y |
Sunday, June 5, 2013 |
%b %e %a |
Jun 5 Sun |
| Exemplo | Saída |
|---|---|
%H:%M |
23:05 |
%I:%M %p |
11:05 PM |
| Símbolo | Exemplo | Área |
|---|---|---|
%a |
Sun |
Dia da semana |
%A |
Sunday |
|
%w |
0..6 (domingo é 0) |
|
| — | — | — |
%y |
13 |
Ano |
%Y |
2013 |
|
| — | — | — |
%b |
Jan |
Mês |
%B |
January |
|
%m |
01..12 |
|
| — | — | — |
%d |
01..31 |
Dia |
%e |
1..31 |
| Símbolo | Exemplo | Área |
|---|---|---|
%l |
1 |
Hora |
%H |
00..23 |
Hora (formato 24 h) |
%I |
01..12 |
Hora (formato 12 h) |
| – | — | — |
%M |
00..59 |
Minuto |
%S |
00..60 |
Segundo |
| — | — | — |
%p |
AM |
AM ou PM |
%Z |
+08 |
Fuso horário |
| — | — | — |
%j |
001..366 |
Dia do ano |
%% |
% |
Caractere % literal |
Sintaxe do Analyze
Seção intitulada “Sintaxe do Analyze”func.to_date('<timestamp_expr>')func.to_date(<integer>)func.to_date('<string>', '<format>')Exemplos do Analyze
Seção intitulada “Exemplos do Analyze”func.typeof(func.to_date('2022-01-02')), func.typeof(func.str_to_date('2022-01-02'))
┌───────────────────────────────────────────────────────────────────────────────────────┐│ func.typeof(func.to_date('2022-01-02')) │ func.typeof(func.str_to_date('2022-01-02')) │├─────────────────────────────────────────┼─────────────────────────────────────────────┤│ DATE │ DATE │└───────────────────────────────────────────────────────────────────────────────────────┘Sintaxe SQL
Seção intitulada “Sintaxe SQL”-- Convert a timestamp-format stringTO_DATE('<timestamp_expr>')
-- Convert an integerTO_DATE(<integer>)
-- Convert a string using the given formatTO_DATE('<string>', '<format>')Aliases
Seção intitulada “Aliases”Tipo de retorno
Seção intitulada “Tipo de retorno”A função retorna uma data no formato “YYYY-MM-DD”:
SELECT TYPEOF(TO_DATE('2022-01-02')), TYPEOF(STR_TO_DATE('2022-01-02'));
┌───────────────────────────────────────────────────────────────────┐│ typeof(to_date('2022-01-02')) │ typeof(str_to_date('2022-01-02')) │├───────────────────────────────┼───────────────────────────────────┤│ DATE │ DATE │└───────────────────────────────────────────────────────────────────┘Para converter a data retornada de volta em string, use a função DATE_FORMAT:
SELECT DATE_FORMAT(TO_DATE('2022-01-02')) AS dt, TYPEOF(dt);
┌─────────────────────────┐│ dt │ typeof(dt) │├────────────┼────────────┤│ 2022-01-02 │ VARCHAR │└─────────────────────────┘Exemplos de SQL
Seção intitulada “Exemplos de SQL”Exemplos de SQL 1: conversão de uma string em formato de timestamp
Seção intitulada “Exemplos de SQL 1: conversão de uma string em formato de timestamp”SELECT TO_DATE('2022-01-02T01:12:00+07:00'), STR_TO_DATE('2022-01-02T01:12:00+07:00');
┌─────────────────────────────────────────────────────────────────────────────────┐│ to_date('2022-01-02t01:12:00+07:00') │ str_to_date('2022-01-02t01:12:00+07:00') │├──────────────────────────────────────┼──────────────────────────────────────────┤│ 2022-01-01 │ 2022-01-01 │└─────────────────────────────────────────────────────────────────────────────────┘
SELECT TO_DATE('2022-01-02'), STR_TO_DATE('2022-01-02');
┌───────────────────────────────────────────────────┐│ to_date('2022-01-02') │ str_to_date('2022-01-02') │├───────────────────────┼───────────────────────────┤│ 2022-01-02 │ 2022-01-02 │└───────────────────────────────────────────────────┘Exemplos de SQL 2: conversão de um inteiro
Seção intitulada “Exemplos de SQL 2: conversão de um inteiro”SELECT TO_DATE(1), STR_TO_DATE(1), TO_DATE(-1), STR_TO_DATE(-1);
┌───────────────────────────────────────────────────────────────────┐│ to_date(1) │ str_to_date(1) │ to_date((- 1)) │ str_to_date((- 1)) ││ Date │ Date │ Date │ Date │├────────────┼────────────────┼────────────────┼────────────────────┤│ 1970-01-02 │ 1970-01-02 │ 1969-12-31 │ 1969-12-31 │└───────────────────────────────────────────────────────────────────┘Exemplos de SQL 3: conversão de uma string usando o formato fornecido
Seção intitulada “Exemplos de SQL 3: conversão de uma string usando o formato fornecido”SELECT TO_DATE('12/25/2022','%m/%d/%Y'), STR_TO_DATE('12/25/2022','%m/%d/%Y');
┌───────────────────────────────────────────────────────────────────────────┐│ to_date('12/25/2022', '%m/%d/%y') │ str_to_date('12/25/2022', '%m/%d/%y') │├───────────────────────────────────┼───────────────────────────────────────┤│ 2022-12-25 │ 2022-12-25 │└───────────────────────────────────────────────────────────────────────────┘