Tudo o que encontrei é uma lista de predefinições DateFormat
que posso escolher, assim
Pelo que me lembro no MySQL (e 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 função integrada?
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())
Ainda não.
Você precisa usar
CONVERT
com um parâmetro de estilo ou hackear algo junto comDATEPART
ouDATENAME
.O SQL Server 2012 terá a
FORMAT
função que aceita uma string de formato .NET FrameworkSintaxe:
Exemplo de uso
Você sempre pode usar a integração CLR e criar sua própria UDF que faz a mesma coisa para 2005 ou 2008.
Se seu objetivo é simplesmente uma 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