Muitas empresas utilizam a plataforma Protheus da Microsiga para seus negócios. Porém as datas de notas fiscais e outros itens estão em um formato no mínimo chato (yyyymmdd). Isso torna difícil a automação da geração de relatórios do back-end (SQL Server, ORACLE, DB2, etc…). Como estou prestando consultoria nessa área, resolvi criar uma função que retornasse a data exatamente no formato desejado pelo sistema. Com essa função os administradores poderão criar STORED PROCEDURES, TRIGGERS ou Pacotes DTS para que sejam executados em determinados horários do dia, tornando a geração de relatórios automatizada.
Segue o corpo da função:
————————————————————
– DATA ATUAL NO FORMATO MICROSIGA
– UTILIZAÇÃO: SELECT dbo.Today() ‘DATA’
————————————————————
CREATE FUNCTION Today()
RETURNS VARCHAR(8)
AS
BEGIN
DECLARE
@Year varchar(4),
@Month varchar(2),
@Day varchar(2),
@Data varchar(8)SET @Year = YEAR(GETDATE())
SET @Month = MONTH(GETDATE())
SET @Day = DAY(GETDATE())IF(LEN(@Month) = 1)
SET @Month = ‘0′ + @MonthIF(LEN(@Day) = 1)
SET @Day = ‘0′ + @DaySET @Data = @Year + @Month + @Day
RETURN @Data
END
————————————————————
– DESENVOLVIDO POR BRAJOLA <BRAJOLA@GMAIL.COM>
————————————————————
E para utilizar sua nova função criada, utilize a seguinte query:
SELECT dbo.Today() 'DATA'
2 Responses to “SQL Server - Today()”
Leave a Reply
You must be logged in to post a comment.
September 20th, 2007 at 11:52 pm
Outra opção para a formatação de data é na hora do insert ou update em um registro do banco de dados incluir uma das linhas abaixo na instrução:
– Formato Protheus da Microsiga
SET DATEFORMAT ymd;
– Formato Brasileito
SET DATEFORMAT dmy;
Isso faz com que as datas sejam inseridas no formato aaaa/mm/dd ou dd/mm/yyyy.