SQL translator › Oracle → T-SQL

Oracle to SQL Server translator

Oracle writes NVL and FROM DUAL. SQL Server writes ISNULL and omits the dummy table.

Usual swaps

OracleSQL Server
NVL(a,b)ISNULL(a, b)
NVL2(a,b,c)CASE WHEN a IS NOT NULL THEN b ELSE c END
DECODECASE
SYSDATEGETDATE()
FROM DUAL(drop it)
ROWNUM <= nTOP n
VARCHAR2 / NUMBERnvarchar / decimal
|| concatCONCAT
TO_DATE / TO_CHARCONVERT / FORMAT
LISTAGGSTRING_AGG
MINUSEXCEPT
CONNECT BYrecursive CTE

ROWNUM before ORDER BY is not TOP after ORDER BY. Wrap, or use ROW_NUMBER.

Then write it on a ticket

Monday is free. A colleague asks, you type, we mark it.

Clock in free