none
Atualização Campo SmalldateTime - Urgente RRS feed

  • 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  --Diferente

    From D_Pontual_Camara_Retencao_Cristiano
     

    terça-feira, 18 de março de 2008 12:20

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  --Diferente

    From D_Pontual_Camara_Retencao_Cristiano

    terça-feira, 18 de março de 2008 12:24

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  --Diferente

    From D_Pontual_Camara_Retencao_Cristiano

    terça-feira, 18 de março de 2008 12:24
  • 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  --Diferente

    From D_Pontual_Camara_Retencao_Cristiano

    terça-feira, 18 de março de 2008 14:13