Diferencias de Sintaxis en SQL entre varios SGBDR 1/4 Diferencias de Sintaxis entre varios SGBDR (Sistemas Gestores de Bases de Datos Relacionales) En LIKE 0 o más caráct. ANSI SQL MySQL Teradata % _ (Subrayado) [0-9] Un carácter Un dígito Funciones Niládicas: Fecha Actual Hora Actual Fecha y Hora Usuario BBDD CURRENT_USER SESSION_USER SESSION_USER() Usuario S.O. SYSTEM_USER SYSTEM_USER() SubCadena ----------- Sys_Context('USERENV', 'SESSION_USER') Sys_Context('USERENV', 'OS_USER') || CHAR[ACTER]_LENGTH CHARS(txt) y --> UPPER(txt) LOWER(txt) POSITION(subtxt in txt) SUBSTRING SUBSTR[ING] (txt From ini [For long]) LENGTH(txt) INSTR(subtxt in txt) SubStr (txt, ini, long) Quita Espacios: Sintaxis genérica: TRIM( [Leading | Trailing | Both] [Carácter] [From] txt) TRIM(Leading From txt) A la Izquierda TRIM(Trailing From txt) A la Derecha TRIM(txt) TRIM(Both From txt) Ambos lados TRIM(txt) © 2007 Joaquín Caselles - Curso de Lenguaje SQL (Ver. 1.5 • Febrero 2015) SQL Server Access * ? # CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER() USER Usuario Actual Funciones de Cadena: Concatenar Longitud Mayúsculas Minúsculas Encontrar Oracle Cast(getDate() AS Date) Cast(getDate() AS Time) CURRENT_USER Date() Time() Now CurrentUser SESSION_USER ----------- SYSTEM_USER Environ('UserName') + LEN(txt) & Len(txt) UCase(txt) LCase(txt) InStr(inicio, txt, subtxt) CharIndex(subtxt, txt, inicio) SUBSTRING (txt, ini, long) Mid(txt, ini [, long]) LTRIM(txt) RTRIM(txt) RTRIM(LTRIM(txt)) LTRIM(txt) RTRIM(txt) TRIM(txt) sql.jjcaselles.com - sql.coninteres.es Diferencias de Sintaxis en SQL entre varios SGBDR ANSI SQL Funciones de Fechas: Parte de Fecha Funciones Numéricas: Entero Superior Entero Inferior Redondeo Valor Absoluto Potencia e exponente e resultado Teradata Oracle EXTRACT(parte From Fecha_Hora) SQL Server Access DatePart(parte , Fecha_Hora) CEILING(valor) CEIL(valor) FLOOR(valor) ROUND(valor, precisión) ABS(valor) POW ** / POWER POWER ** (base , exponente) (base , exponente) (base , exponente) SQRT(valor) DIV / / dividendo % divisor MOD(dividendo , divisor) CEIL[ING](valor) ----------- POWER (base , exponente) Raíz Cuadrada División Entera Resto MySQL = valor Conversión Funciones de Decisión: Análisis Si Índice Si Nulo ... Nulo si ... © 2007 Joaquín Caselles - Curso de Lenguaje SQL (Ver. 1.5 • Febrero 2015) 2/4 ----------Int(valor) base ^ exponente Sqr(valor) \ dividendo mod divisor EXP(exponente) LN(valor) LOG(valor) CAST(dato AS Tipo) Específicas: CTipo(dato) Case …When …Then … Else … End Switch(Cond1, Valor1, C2,V2, ...) Iif(condición, SiCierto, SiFalso) Choose(índice, op1, op2, …) COALESCE(expr, sustituto) NULLIF(expresión, valor) Iif(IsNull(expr), sustit, expr) Iif(expr=valor, NULL, expr) sql.jjcaselles.com - sql.coninteres.es Diferencias de Sintaxis en SQL entre varios SGBDR ANSI SQL Operaciones de Conjuntos: Unión INTERSECT Intersección EXCEPT Diferencia MySQL --------------------- Combinación Interna de Tablas: Equivalencia INNER JOIN Cruzada Natural NATURAL JOIN Combinación Externa (no exclusiva) de Tablas: Izquierda Derecha Completa FULL [OUTER] JOIN ----------Control de Transacciones: Comienzo Confirma Deshace START TRANSACTION COMMIT ROLLBACK © 2007 Joaquín Caselles - Curso de Lenguaje SQL (Ver. 1.5 • Febrero 2015) Teradata Oracle UNION [ALL] INTERSECT EXCEPT / MINUS MINUS [INNER] JOIN , (Coma) o CROSS JOIN NATURAL JOIN LEFT [OUTER] JOIN RIGHT [OUTER] JOIN FULL [OUTER] JOIN (Implicito) COMMIT COMMIT ROLLBACK SQL Server Access EXCEPT --------------------- 3/4 INNER JOIN ----------- , (Coma) (Implícita) ----------- ----------- BEGIN TRAN[SACTION] COMMIT [TRAN] COMMIT ROLLBACK [TRAN] ROLLBACK sql.jjcaselles.com - sql.coninteres.es Diferencias de Sintaxis en SQL entre varios SGBDR Tipos de Datos: Lógico Texto (long. fija) Texto (long. var.) Entero (1 byte) Entero (2 bytes) Entero (4 bytes) Entero (8 bytes) Decimal Coma Flotante Fecha Hora Instante ANSI SQL Boolean Char VarChar MySQL Boolean Char VarChar SmallInt Integer SmallInt Integer Decimal Float Date Time TimeStamp Binary Large Object BLOB Decimal Float Date ----BLOB Sinónimos en SQL Server 2005: Sinónimo SQL Server 2005 Binary varying varbinary char varying varchar character char character char(1) character(n) char(n) character varying(n) varchar(n) Dec decimal Double precision float float[(n)] para n=1-7 real float[(n)] para n=8-15 float integer int national character(n) nchar(n) national char(n) nchar(n) national character nvarchar(n) national char varying(n) nvarchar(n) national text ntext rowversion timestamp © 2007 Joaquín Caselles - Curso de Lenguaje SQL (Ver. 1.5 • Febrero 2015) Teradata Char VarChar ByteInt SmallInt Integer BigInt Decimal(n,m) Date Time TimeStamp Oracle --[N]Char [N]VarChar2 SmallInt Integer Number [(p[, s])] Float Date --TimeStamp BLOB (máx. 4 Gb) SQL Server Bit [N]Char, Character [N]VarChar TinyInt SmallInt Int, Integer BigInt Decimal / Numeric Float (4 u 8 bytes) DateTime DateTime TimeStamp Binary 4/4 Access Bit / Boolean Character Text Byte SmallInt / Integer2 Integer / Integer4 Decimal Float Date DateTime --Binary (17 bytes) (8 bytes) (8 bytes) Tipos de Datos en SQL Server 2005: Numéricos exactos Int (4 bytes), BigInt (8 bytes), SmallInt (2 bytes), TinyInt (1 bytes) Numeric / Decimal (5, 9, 13 o 17 bytes), Bit (1 bit - 1 Byte) Money (8 bytes), SmallMoney (4 bytes) Numéricos aproximados Real (4 bytes), Float (4 u 8 bytes) Fecha y hora DateTime (8 bytes), SmallDateTime (4 bytes) Cadenas de caracteres Text, Char, VarChar (Text desaparecerá en el futuro) Cadenas de caracteres Unicode nText, nChar, nVarChar Cadenas binarias Binary, VarBinary Otros tipos de datos Cursor, Table, TimeStamp XML, SQL_Variant Uniqueidentifier sql.jjcaselles.com - sql.coninteres.es
© Copyright 2024