Tudo o que encontrei é uma lista de opções predefinidas DateFormat
que posso escolher, como esta
Como me lembro no MySQL (e no PostgeSQL também?), Você pode definir seu formato de data:
DATE_FORMAT(now(),'&m_%Y') --for 02_2012 etc.
O SQL Server tem a mesma coisa? Vejo que as pessoas precisam escrever uma função para fazer isso, ela tem uma embutida?
EDITAR:
Acabei de encontrar a DatePart
função. Pode levar Mês como número, mas sempre retorna 1 dígito, até eu uso datePart(MM, getdate())
sql-server
sql-server-2005
datetime
date-format
King Chan
fonte
fonte
Respostas:
Ainda não.
Você precisa usar
CONVERT
com um parâmetro de estilo ou cortar algo junto comDATEPART
ouDATENAME
.O SQL Server 2012 terá a
FORMAT
função que aceita uma string de formato do .NET FrameworkSintaxe:
Exemplo de uso
Você sempre pode usar a integração do CLR e criar sua própria UDF que faz a mesma coisa para 2005 ou 2008.
fonte
SQL#.Date_Format
e o internoFORMAT
desta resposta do SO: Existe uma maneira de obter datas com formatos personalizados no SQL Server? :-)Se seu objetivo é simplesmente saída formatada e não precisa permanecer no tipo de dados datetime, usar CONVERT com um código de formato é uma excelente ferramenta. Uma lista de formatos e seus respectivos códigos pode ser encontrada aqui: http://msdn.microsoft.com/en-us/library/ms187928.aspx
fonte