Histórico da Página
...
Produto: | TOTVS Reports | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Versões: | 12.1.x | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ocorrência: |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ambiente: |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Passo a passo: |
Conteúdo
1 - Introdução
Na versão 11.80, o provedor de dados é o Microsoft OLE DB Provider for Oracle, disponibilizado pela própria Microsoft, enquanto que na versão 12 o provedor de dados é o Devart ADO .Net Provider, disponibilizado pela empresa Devart.
|
Informações | ||||
---|---|---|---|---|
| ||||
TO_DATE( string1 [, format_mask] [, nls_language] ) |
Descrição dos Parâmetros:
Nº | Nome | Descrição | Obrigatoriedade | Outras Informações | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | string1 | Cadeia de caracteres que será convertida em uma data válida. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | format_mask | Máscara que será utilizada para a correta formatação da data.
| Alguns dos formatos disponíveis:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | nls_language | Linguagem utilizada na conversão da cadeia de caracteres em uma data válida |
2.1 - Se aplica a:
A função TO_DATE() pode ser usada nas seguintes versões do Oracle/PLSQL:
Nº | Versão |
---|---|
1 | Oracle 12c |
2 | Oracle 11g |
3 | Oracle 10g |
4 | Oracle 9i |
5 | Oracle 8i |
2.2 - Exemplo:
Vamos observar alguns exemplos do uso da função TO_DATE():
Informações | ||||
---|---|---|---|---|
| ||||
TO_DATE('09/07/2003', 'dd/mm/yyyy') Resultado: valor de data referente à 9 de julho de 2003 |
Informações | ||||
---|---|---|---|---|
| ||||
TO_DATE('090703', 'DDMMYY') Resultado:valor de data referente à 9 de julho de 2003 |
Informações | ||||
---|---|---|---|---|
| ||||
TO_DATE('15032002', 'ddmmyyyy') Resultado:valor de data referente à 15 de março de 2002 |
3 - Microsoft Provider x Devart Provider - TO_DATE()
Existem diversas diferenças entre esses dois provedores de dados, mas vamos focar apenas na função TO_DATE().
Microsoft OLE DB Provider | Devart ADO .Net Provider | |||
---|---|---|---|---|
Sim/Não | Descrição | Sim/Não | Descrição | |
Conversões Internas | O padrão da função TO_DATE() é receber um campo do tipo string comoparâmetro, porém com as conversões internas do provedor, mesmo passando um campo do tipo datetime comoparâmetro, a função será executada sem levantar exceções. | Funciona conforme o driver nativo do oracle, ou seja, suporta apenas um campo do tipo string como parâmetro, qualquer outro tipo, uma exceção é levantada. | ||
Formatações Internas | O padrão da função TO_DATE() é receber uma máscara de formato idêntica ao valor passado como parâmetro, porém com as formatações internas, mesmo passando uma máscara diferente do valor passado como parâmetro, a função será executada sem levantar exceções. | Funciona conforme o driver nativo do oracle, ou seja, a máscara do formato têm que ser idêntica ao valor passado como parâmetro. |
4 - Exceções Mais Comuns
N° | Código Exceção | Descrição | Solução | |
---|---|---|---|---|
1 | ORA-01830 | A imagem do formato da data termina antes de converter a string de entrada inteira.
| Informar uma máscara de data que condiz com o valor passado como parâmetro.
| |
2 | ORA-01843 | Valor do mês inválido.
| Informar um mês válido.
| |
3 | ORA-01847 | Valor do dia inválido.
| Informar um dia válido.
| |
... |
4.1 - RM, Consultas SQL, Oracle e ORA-
01843 - Invalid month value01830
Observações: