PostgreSQL → SQL Server

Como corrigir o erro 'NOW() is not a recognized built-in function name' no SQL Server

NOW() é PostgreSQL. No SQL Server use GETDATE(), SYSDATETIME() ou CURRENT_TIMESTAMP.

Ao mover queries do PostgreSQL para o SQL Server, NOW() dispara erro imediato. O motor T-SQL não reconhece essa função — o equivalente mais próximo é GETDATE() ou SYSDATETIME() para maior precisão.

Substituição direta

PostgreSQL

INSERT INTO eventos (ts) VALUES (NOW());

SQL Server

INSERT INTO eventos (ts) VALUES (GETDATE());

Intervalos de data

INTERVAL '7 days' também precisa virar DATEADD ou DATEDIFF no SQL Server. Nosso conversor trata os casos mais comuns automaticamente.

PostgreSQL

WHERE criado_em >= NOW() - INTERVAL '7 days'

SQL Server

WHERE criado_em >= DATEADD(day, -7, GETDATE())

Analisador de Impacto

Traduza NOW(), INTERVAL e funções de data do Postgres para T-SQL em um clique — cole o trecho abaixo.

Abrir Análise de Projeto →