Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Produto:

TOTVS Reports

Versões:

12.1.x

Ocorrência:

 

Ambiente:

 

Passo a passo:

 

Conteúdo


Índice
excludeExportar para Html, Envio de E-mail com arquivo Html como anexo|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
titleMais Informações

Para saber mais sobre:


2 - Função TO_DATE()


 

Informações
iconfalse
titleSintaxe
TO_DATE( string1 [, format_mask] [, nls_language] )


Descrição dos Parâmetros:

NomeDescriçãoObrigatoriedadeOutras Informações
1string1Cadeia de caracteres que será convertida em uma data válida. 
2format_mask

Máscara que será

utlizada

utilizada para a correta formatação da data.

Informações
title !Importante!

O formato (segundo parâmetro) sempre deve corresponder ao formato da string (primeiro parâmetro), assim o interpretador vai identificar qual formato esta entrado para poder converter a string em data.

Alguns dos formatos disponíveis:

NomeDescrição
1YEARAno, soletrado
2YYYYAno (4 dígitos)
3YYY
YY
Y
Últimos 3, 2, ou 1 digito(s) do ano.
4IYY
IY
I
Últimos 3, 2, ou 1 digito(s) do ano (Padrão ISO).
5IYYYAno (4 dígitos baseados no padrão ISO)
6RRRRRecebe um ano (2 dígitos) e retorna um ano (4 dígitos)
Um valor entre 0-49 irá retornar um ano (20xx).
Um valor entre 50-99 irá retornar um ano (19xx).
7Q1/4 de um ano (1, 2, 3, 4; JAN-MAR = 1).
8MMMês (01-12; JAN = 01).
9MONNome abreviado do mês.
10MONTHNome do mês preenchido com espaços em branco para completar 9 caracteres.
11RMNumeral romano referente ao mês (I-XII; JAN = I).
12WWSemana do ano (1-53) onde a semana 1 começa no primeiro dia do ano e continua ao sétimo dia do ano.
13WSemana do mês (1-5) onde a semana 1 começa no primeiro dia do mês e termina ao sétimo.
14IWSemana do ano (1-52 ou 1-53) baseado no padrão ISO.
15DDia da semana (1-7).
16DAYNome do dia.
17DDDia do mês (1-31).
18DDDDia do ano (1-366).
19DYNome abreviado do dia.
20JDia juliano; O número de dias desde 1 de janeiro de 4712 A.C.
21HHHora do dia (1-12).
22HH12Hora do dia (1-12).
23HH24Hora do dia (0-23).
24MIMinutos (0-59).
25SSSegundos (0-59).
26SSSSSSegundos após a meia-noite (0-86399).
27AM, A.M., PM, ou P.M.Indicador Meridiano.
28AD ou A.DIndicador AD.
29BC ou B.C.Indicador BC.
30TZDInformações do Horário de Verão.
31TZHHora do fuso horário.
32TZMMinutos do fuso horário.
33TZRRegião do fuso horário.
3nls_languageLinguagem utilizada na conversão da cadeia de caracteres em uma data válida 

Se aplica a:

A função TO_DATE() pode ser usada nas seguintes versões do Oracle/PLSQL:

Versão
1Oracle 12c
2Oracle 11g
3Oracle 10g
4Oracle 9i
5Oracle 8i

 

Exemplo:

Vamos observar alguns exemplos do uso da função TO_DATE():

 
Informações
iconfalse
titleExemplo 1

mydate

=

'2003-07-09'
TO_DATE(mydate,

'dd/MM/yyyy')

Result


Resultado:

09/07/2003

Informações
iconfalse
titleExemplo 2

mydate = '2003-07-09'
TO_DATE('070903'mydate, 'MMDDYYDDMMYY')

Result: date value of July 9, 2003

Resultado: 090703 

Informações
iconfalse
titleExemplo 3

 TO_DATE('20020315', 'yyyymmdd')

Result: date value of Mar 15, 2002

You could use the TO_DATE function with the dual table as follows:

SELECT TO_DATE('2015/05/15 8:30:25', 'YYYY/MM/DD HH:MI:SS')
FROM dual;
This would convert the string value of 2015/05/15 8:30:25 to a date value.

mydate = '2002-03-15' 
TO_DATE(mydate, 'ddmmyyyy')
Resultado: 15032002

 

 

2.1 - 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().


A principal diferença é que o Microsoft OLE DB Provider for Oracle, ao executar a função TO_DATE(), através de algumas validações internas, faz com que campos do tipo DateTime possam ser utilizados como parâmetro dessa função, sem ocasionar exceções, enquanto que o Devart ADO .Net Provider, funciona exatamente como o próprio banco de dados Oracle, levantando exceções, quando o tipo de campo utilizado como parâmetro da função TO_DATE() é do tipo DateTime.


Observações: