Função oracle to_date

Função oracle to_date

Datas e strings são alguns dos tipos de dados mais comuns com os quais você interagirá ao trabalhar com bancos de dados. Portanto, não é surpresa que você encontre um cenário em que precise converter uma determinada string literal em um tipo de data.

Este tutorial tem como objetivo mostrar como usar a função to_date () no Oracle para executar isso.

Função orale to_date ()

A função to_date () no Oracle permite converter uma determinada string date literal em um tipo de data.

A sintaxe da função pode ser expressa no trecho abaixo:

To_date (char [, fmt [, 'nlsparam']])

A função aceita três argumentos principais:

  1. Caracteres - O primeiro argumento é o Caracteres, que define a string de data de entrada. O valor de entrada pode ser char, varchar2, nchar ou nvarchar2.
  2. fmt - O segundo parâmetro é que este parâmetro define o formato do modelo DATETime do valor de entrada. Você pode pular este parâmetro se o valor de entrada seguir o formato padrão de DD-Mon-yy, por exemplo, 01-Jan-2022.

Se o formato for juliano, representado como j, o valor de entrada deve ser do tipo inteiro.

O valor de entrada pode ser composto pelos seguintes formatos.

Você pode explorar nosso tutorial sobre a formatação do Oracle Date para saber mais sobre os vários formatos de dados.

c. nlsparam - Finalmente, o parâmetro nlsparam é usado para especificar o idioma para dados e mês na string. O formato é nls_date_format = idioma. Lembre -se de que este é um parâmetro opcional, e o Oracle padrão no idioma padrão da sua sessão.

Exemplo de uso da função

A seguir, são apresentados exemplos da função to_date no banco de dados Oracle:

Exemplo 1 - Conversão básica

O exemplo abaixo demonstra como usar a função to_date para converter uma determinada string de caracteres em uma data.

Selecione TO_DATE ('10 de janeiro de 2023', 'Mês DD, AAAA')
de dual;

Nesse caso, convertemos a string de data fornecida em um tipo de data usando o Formato do mês DD, AAAA.

O valor resultante é mostrado:

To_date ('janeiro102023', 'Menshdd, AAA')
2023-01-10

Exemplo 2 - Converter Data e Hora para Data Tipo

O segundo exemplo ilustra como converter uma determinada string de personagem até o momento.

Selecione TO_DATE ('10 de janeiro de 2023, 1:03', 'Mês DD, AAA, HH: Mi P.M.')
de dual;

Nesse caso, precisamos especificar o formato de tempo como hh: mi p.M.

A saída resultante é como mostrado:

To_date ('Janeiro 10.2023,1: 03', 'Mês, AAA, HH: MIP.M.')
2023-01-10 01:03:00

Exemplo 3 - especificando o parâmetro de linguagem

Considere o exemplo abaixo, demonstrando como usar a função to_date com o parâmetro NLS_DATE_LANGUAGE.

Selecione TO_DATE ('10 de janeiro de 2023, 1:03', 'Mês DD, AAA, HH: Mi P.M.',' nls_date_language = americano ')
de dual;

Isso deve retornar o valor:

2023-01-10 01:03:00

Uma vez que mudamos o idioma da sessão como:

Alter Session Set NLS_territory = 'Austrália';

Converter o tempo.

Selecione TO_DATE ('10 de janeiro de 2023, 1:03', 'Mês DD, AAA, HH: Mi P.M.',' nls_date_language = americano ')
de dual;

Conclusão

Neste post, exploramos o uso da função to_date no banco de dados Oracle para converter uma determinada data de entrada literal até o tipo de data.