Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 514890
            [titulo] => Formatar data em uma VIEW
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-03-26 16:43:12
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 378439
            [status] => A
            [isExample] => 
            [NomeUsuario] => Marcos P
            [Apelido] => 
            [Foto] => 378439_20140801115452.png
            [Conteudo] => Esqueça o design do Studio Management ...

Crie a view manualmente, via query, exatamente como definido pelo Jothaz :

[code]
CREATE VIEW teste
AS
SELECT ID,EstadoID,NomeCidade
,convert(char,dt,103) as dt
FROM Cidade
[/code]

O produto final será o mesmo, com o convert adequado a sua necessidade... ) )

Formatar data em uma VIEW

José Jacinto
   - 26 mar 2015

Boa tarde,
Qual é a forma mais profissional de formatar uma data do formato YYYYMMDD para DD/MM/YYYY em uma VIEW no SQL SERVER 2008 R2?
Formatação de data em uma VIEW (Clique na imagem para abrir em uma nova janela)

Existe algum recurso no Management Studio que faça essa formatação?
Desde já agradeço.

Post mais votado

Marcos P
   - 26 mar 2015

Esqueça o design do Studio Management ...

Crie a view manualmente, via query, exatamente como definido pelo Jothaz :

#Código

	
CREATE VIEW teste
AS
SELECT ID,EstadoID,NomeCidade
      ,convert(char,dt,103) as dt
  FROM Cidade


O produto final será o mesmo, com o convert adequado a sua necessidade...

Randrade
   - 26 mar 2015

Adicione o CONVERT(CHAR,CAMPO,103) no campo desejado.

Ficando mais ou menos assim:

#Código

SELECT D2_COD, CONVERT(CHAR,D2_EMISSAO,103) AS NomeCampo
	from DS2010 INNER JOIN...

Jothaz
   - 26 mar 2015

Só completando a informação do Randrade quando puder dê uma olhada aqui: Manipulando Data no SQL Server

José Jacinto
   - 26 mar 2015

Olá. Apliquei a sugestão acima e li sobre Data no SQL Server no link, porém ainda não tenho o resultado esperado. Talvez eu esteja fazendo algo errado ou esperando algo diferente do que as funções podem fazer.

Vou explicar detalhadamente o que estou esperando:

Estou criando uma VIEW pelo Management Studio com SQL SERVER 2008 R2 com uma tabela do nosso ERP para montar uma conexão através do MS-EXCEL para servir algumas informações gerenciais para um departamento.
O que estou esperando é que diretamente na VIEW (Management Studio) a data já fique formatada e que ao conectar do Excel nessa view a data (lá no excel) já esteja no formato DD/MM/YYYY.

Isso é possível?

Veja abaixo as imagens:

Aqui espero que a data já fique formatada. Isso é possível? Ou devo fazer de outra forma?

SQL (Clique na imagem para abrir em uma nova janela)

Aqui seria o resultado final já na planilha que a data vem sem formatação. Isso é possível?

Tabela Excel (Clique na imagem para abrir em uma nova janela)

Jothaz
   - 26 mar 2015

Sim é possível!

É só criar a view com o convert como no script abaixo:

#Código

CREATE VIEW teste
AS
SELECT ID,EstadoID,NomeCidade
      ,convert(char,dt,103) as dt
  FROM Cidade


Como pode ser visto na imagem abaixo o select na view fica com o formato correto:

Clique na imagem para abrir em uma nova janela

Depois é só criar a planilha e obter os dados do SQL Server e escolher a view como fonte e vai funcionar como na imagem abaixo:

Clique na imagem para abrir em uma nova janela

Randrade
   - 26 mar 2015

Bom brother.

Dê uma olhada no SqlFiddle. Coloquei um exemplo com as datas.
Em relação ao Excel, não posso testar agora. Porém se não funcionar, poste o erro, para que possa analisar.

José Jacinto
   - 26 mar 2015

Segue um print.

View001 (Clique na imagem para abrir em uma nova janela)

Não rolou (ainda).
Estou deixando de fazer algo?
Jothaz? Estou criando a View pelo assistente do Management Studio. Isso pode interferir?
Obrigado.

Jothaz
   - 26 mar 2015

Esta havendo uma confusão com conceitos.

Olha pelo que estou entendendo você não esta criando a View esta só criando um Select.

Se quiser usar uma View deve criar um objeto do tipo View via script:

#Código

CREATE VIEW teste
AS
SELECT ID,EstadoID,NomeCidade
      ,convert(char,dt,103) as dt
  FROM Cidade


Ao executar o script acima vai ser criado um objeto do tipo View na estrutura do banco de dados, seria, a grosso modo, como salvar o Select, veja na imagem:

Clique na imagem para abrir em uma nova janela

Este objeto vai ser usado como fonte de dados no Excel:

Clique na imagem para abrir em uma nova janela

Como pode ser visto nas imagens anteriores funciona sem problemas.

José Jacinto
   - 26 mar 2015

ok. Fazendo aqui. Value pela força pessoal. Logo retorno com o resultado.

Samuel Silva
   - 27 mar 2015

José,

Sou novo no fórum, na verdade fiz o cadastro agora só pra responde vc.
Também uso o ERP Protheus e sempre tive esse mesmo problema, mas é simples vou explicar.

O que acontece é que o Protheus guarda a data como Char(8) no banco e com esse formato YYYYMMDD, então primeiro vc tem que converte ele para "Date" e depois formatar para DD/MM/YYYY.
Para converter eu uso o CAST("campo" As Date) e para formatar uso o que o Randrade disso no inicio CONVERT(CHAR,"campo",103)

Então ficaria assim:
#Código

SELECT CONVERT(CHAR,CAST(D2_EMISSAO AS date),103) as Emissao ,* FROM SD2010 


Citação:
Boa tarde,

Qual é a forma mais profissional de formatar uma data do formato YYYYMMDD para DD/MM/YYYY em uma VIEW no SQL SERVER 2008 R2?

Formatação de data em uma VIEW (Clique na imagem para abrir em uma nova janela)

Existe algum recurso no Management Studio que faça essa formatação?

Desde já agradeço.

José Jacinto
   - 27 mar 2015

Opa. Deu certo! Obrigado ao Samuel e a todos que me ajudaram.

OK (Clique na imagem para abrir em uma nova janela)

OK (Clique na imagem para abrir em uma nova janela)

José Jacinto
   - 27 mar 2015

Não sei se seria neste tópico mesmo ou preciso abrir outro, mas por exemplo... alterei tudo dentro do modo DESIGN do Management Studio de forma manual. Digitando o Convert e etc... existe algum recurso ou local onde se pode fazer isso de forma mais "amigável"? Tipo algum campo PROPRIEDADES, etc... ou seria no modo manual mesmo?

Obrigado.

Randrade
   - 27 mar 2015

Bom, não posso te dar certeza se existe ou não essa forma.
Porém, sempre ao trabalhar com Views, me foi repassado para trabalhar de forma manual, escrever o código mesmo.

Com o tempo, eu particularmente acho mais fácil do que utilizar o "Designer".
Porém se você quer respostas concretas, abra outro tópico, pois sua dúvida já foi respondida neste.

José Jacinto
   - 27 mar 2015

Blz. Pessoal. Obrigado à todos!