Usuário com melhor resposta
Atualização Campo SmalldateTime - Urgente

Pergunta
-
Amigos,
tenho um campo SmallDateTime em uma tabela e quero carregar um campo que está em varchar para dentro.
Faço uma conversão basica mas mesmo assim está me dando problema.
ERRO: The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value.
QUERY:
Select Distinct UF,
CPFCNPJ,
LOCALCHAVE,
cast(ACESSOCHAVE as int) as TERMINAL,
Cast(CJCHAVE as char(1)) as CJ,
Cast(SUCHAVE as int(1)) as SU,
substring(DTCTA,4,4) + substring(DTCTA,1,2) as DATA_CONTA,
--VLRFATURADO,
--cast(Replace(VLRFATURADO,'-','') as int) as VALOR_CONTA,
null, --VC
null, --VRVCEA
null, --VRVCENA
null, --VRVCNID
null, --CD_UN
null, --CD_RELACIONAMENTO
--Cast(DtInclusao as smalldatetime) as DATA_INCLUSAO,
--DtInclusao,
null, -- COD_CANCELAMENTO
AREAEMISSAO as AREA_EMISSAO,
Convert(Smalldatetime, DTSTATUSCTA) as DATA_BAIXA,
--DTSTATUSCTA,
null, --TIPO_BAIXA
null, --BPI
null, --DT_RETIRADA
null, --ISENTO
null, --Existe
null --DiferenteFrom D_Pontual_Camara_Retencao_Cristiano
Respostas
-
Amigos funcionou desta maneira para um unico CPF.
Convert(smalldatetime, DtInclusao, 103) as DATA_INCLUSAO.
Porém quando eu executo para a tabela inteira dá o seguinte erro:
Server: Msg 296, Level 16, State 3, Line 1
The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value.
The statement has been terminated.Select:
Select Distinct UF,
CPFCNPJ,
LOCALCHAVE,
cast(ACESSOCHAVE as int) as TERMINAL,
Cast(CJCHAVE as char(1)) as CJ,
Cast(SUCHAVE as int(1)) as SU,
substring(DTCTA,4,4) + substring(DTCTA,1,2) as DATA_CONTA,
VLRFATURADO,
--cast(Replace(VLRFATURADO,'-','') as int) as VALOR_CONTA,
null, --VC
null, --VRVCEA
null, --VRVCENA
null, --VRVCNID
null, --CD_UN
null, --CD_RELACIONAMENTO
Convert(smalldatetime, DtInclusao, 103) as DATA_INCLUSAO,
--Cast(DtInclusao as smalldatetime) as DATA_INCLUSAO,
--DtInclusao,
null, -- COD_CANCELAMENTO
AREAEMISSAO as AREA_EMISSAO,
Convert(Smalldatetime, DTSTATUSCTA,103) as DATA_BAIXA,
--DTSTATUSCTA,
null, --TIPO_BAIXA
null, --BPI
null, --DT_RETIRADA
null, --ISENTO
null, --Existe
null --DiferenteFrom D_Pontual_Camara_Retencao_Cristiano
Todas as Respostas
-
Amigos funcionou desta maneira para um unico CPF.
Convert(smalldatetime, DtInclusao, 103) as DATA_INCLUSAO.
Porém quando eu executo para a tabela inteira dá o seguinte erro:
Server: Msg 296, Level 16, State 3, Line 1
The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value.
The statement has been terminated.Select:
Select Distinct UF,
CPFCNPJ,
LOCALCHAVE,
cast(ACESSOCHAVE as int) as TERMINAL,
Cast(CJCHAVE as char(1)) as CJ,
Cast(SUCHAVE as int(1)) as SU,
substring(DTCTA,4,4) + substring(DTCTA,1,2) as DATA_CONTA,
VLRFATURADO,
--cast(Replace(VLRFATURADO,'-','') as int) as VALOR_CONTA,
null, --VC
null, --VRVCEA
null, --VRVCENA
null, --VRVCNID
null, --CD_UN
null, --CD_RELACIONAMENTO
Convert(smalldatetime, DtInclusao, 103) as DATA_INCLUSAO,
--Cast(DtInclusao as smalldatetime) as DATA_INCLUSAO,
--DtInclusao,
null, -- COD_CANCELAMENTO
AREAEMISSAO as AREA_EMISSAO,
Convert(Smalldatetime, DTSTATUSCTA,103) as DATA_BAIXA,
--DTSTATUSCTA,
null, --TIPO_BAIXA
null, --BPI
null, --DT_RETIRADA
null, --ISENTO
null, --Existe
null --DiferenteFrom D_Pontual_Camara_Retencao_Cristiano
-
ou vc. tem um campo char varchar que nao contem uma data ou o formato da data esta diferente do que vc. quer.
tente colocar
set dateformat dmy -- antes da consulta
Select Distinct UF,
CPFCNPJ,
LOCALCHAVE,
cast(ACESSOCHAVE as int) as TERMINAL,
Cast(CJCHAVE as char(1)) as CJ,
Cast(SUCHAVE as int(1)) as SU,
substring(DTCTA,4,4) + substring(DTCTA,1,2) as DATA_CONTA,
VLRFATURADO,
--cast(Replace(VLRFATURADO,'-','') as int) as VALOR_CONTA,
null, --VC
null, --VRVCEA
null, --VRVCENA
null, --VRVCNID
null, --CD_UN
null, --CD_RELACIONAMENTO
Convert(smalldatetime, DtInclusao, 103) as DATA_INCLUSAO,
--Cast(DtInclusao as smalldatetime) as DATA_INCLUSAO,
--DtInclusao,
null, -- COD_CANCELAMENTO
AREAEMISSAO as AREA_EMISSAO,
Convert(Smalldatetime, DTSTATUSCTA,103) as DATA_BAIXA,
--DTSTATUSCTA,
null, --TIPO_BAIXA
null, --BPI
null, --DT_RETIRADA
null, --ISENTO
null, --Existe
null --DiferenteFrom D_Pontual_Camara_Retencao_Cristiano