Esta tarde estuve mirando un poco de PL/SQL porque estoy apuntado en un par de ofertas de trabajo donde piden conocimientos básicos. En principio esta versión de SQL de Oracle tiene la misma lógica y funciona más o menos igual que Transac SQL, pero hay alguna pequeña diferencia. Por lo que he indagado, algunos comandos cambian de uno a otro, ahí os inserto una lista.
CONCATENAR COLUMNAS
T-SQL = +
PL/SQL = ||
COMPROBAR VALOR NULO
T-SQL = ISNULL
PL/SQL = NVL
CONVERSIÓN DE TIPO DE DATO
T-SQL = CONVERT ()
PL/SQL = TO_DATE, TO_CHAR, TO_NUMBER (dependiendo del tipo)
COMPARACIÓN CON EL VALOR NULL
T-SQL = =NULL
PL/SQL = IS NULL
EXTRAER UNA PARTE DE UNA FECHA (DÍA, MES O AÑO) el ejemplo será con año
T-SQL = DATEPART (yy, DATE)
PL/SQL = EXTRACT (Year from DATE)
CREAR UN EQUAL JOIN
T-SQL = SELECT t1.field, t2.field FROM table1 t1 LEFT JOIN table2 ON t2.field = t1.field
PL/SQL = SELECT t1.field, t2.field FROM table1 t1, table2 t2 WHERE t1.field(+) = t2.field
SELECCIONAR UN NÚMERO CONCRETO DE FILAS
T-SQL = SELECT TOP seguido del número de columnas
PL/SQL = SELECT * FROM tabla1 WHERE rownum <= seguido del número de columnas
INCLUIR UN TEXO O UN NÚMERO EN LA SELECT:
T-SQL = SELECT ‘texto’
PL/SQL = SELECT ‘Texto’ FROM dual
ASIGNAR VALOR A UNA VARIABLE
T-SQL = SET var = val
PL/SQL = var := val
IMPRIMIR EN PANTALLA
T-SQL = PRINT ‘texto’
PL/SQL = dbms_output.put_line(“cadena de texto”)
CONDICIONAL IF
T-SQL = IF condicion THEN BEGIN bloque instrucciones END IF
PL/SQL = IF Condicion THEN — END IF;
Luego además, existen algunos comandos propios de TS/SQL y algunas funciones que existen en MySQL o SQL-Server no existen aquí por ser propios de esos gestores, pero grosso modo esto es lo que hay. Espero que os sea de ayuda.