Tipos de datos para números
Si ha estado utilizando SQL durante un período de tiempo, probablemente sepa que los tipos de datos son increíblemente útiles para asegurarse de que la información correcta vaya en el campo correcto. Es muy probable que gran parte de la información que desee almacenar venga en forma de datos numéricos. Para los números que se componen únicamente de números enteros, es probable que use una de las opciones INTEGER.
Sin embargo, una gran parte de sus datos puede requerir un decimal. En ese caso, tiene dos opciones disponibles: NUMÉRICA y DECIMAL . Afortunadamente, se usan exactamente de la misma manera. En esta lección, veremos cómo se usa cada uno, explicaremos con más detalle las diferencias entre ellos y otros tipos de datos y veremos cómo usar decimales en cada uno.
NUMÉRICO y DECIMAL
Como se mencionó anteriormente, en gran medida puede usar NUMERIC y DECIMAL indistintamente, aunque se considera que es una buena práctica elegir uno y seguir con él. Esto se debe a que, si bien son funcionalmente iguales, SQL no los trata como tales. Si ha vinculado tablas mediante el uso de una clave externa, por ejemplo, tendrá un mensaje de error porque SQL cree que se están comparando dos tipos diferentes de datos.
Sin embargo, hay una pequeña diferencia cuando se utilizan algunos estándares SQL. NUMERIC solo irá al número especificado de decimales, mientras que DECIMAL será al menos así de exacto, si no más. Por ejemplo, si el número de decimales indicado fuera 2 y su punto de datos fuera 5.323, NUMERIC lo llamaría 5.32 mientras que DECIMAL iría a 5.323. Tenga en cuenta que esto no está en todos los estándares SQL.
¿En qué se diferencian de otros tipos de datos?
La mayor diferencia entre NUMERIC y DECIMAL en comparación con otros tipos de datos es la inclusión de puntos decimales. Si va a tener datos con decimales, le resultará muy ventajoso etiquetarlos como tales. De esta manera, cualquier dato que no coincida generará un mensaje de error. Además, proporciona una buena comprobación de su entrada, ya que tendría que poner 25,00 si el valor fuera 25. Esto ayuda a garantizar una mayor precisión.
Ataque de inyección SQL: definición, tipos y ejemplos
Explicando la sintaxis
Cuando use NUMERIC o DECIMAL, inmediatamente tendrá que ingresar valores para (p, s) después. Eso podría causar cierta confusión, así que tomemos un minuto para aclararlo. La p significa precisión. Esta es la cantidad total de dígitos que debe haber en el número. Mientras tanto, la s significa escala. Esto se refiere a cuántos números después del decimal debe haber. Por lo tanto, si tiene un valor (p, s) de (6,3), sabría que el tipo de datos requeriría 3 números antes del decimal y 3 números después.
El siguiente código crea una tabla con un valor decimal para almacenar un precio. Tiene una precisión de 2 pero puede tener seis dígitos (por ejemplo, 1234,00); el segundo campo es numérico con una precisión de 5 con hasta 10 dígitos.
CREAR TABLA productos (
productPrice DECIMAL (6, 2),
productRatio NUMERIC (10, 5)
);
INSERTAR EN PRODUCTOS VALORES (1043.33, 58468.14500);
Los valores de la tabla serán los siguientes:
Diseño para bases de datos y SQL
| precio del producto | productRatio |
|---|---|
| 1043,33 | 58468.14500 |
Resumen de la lección
NUMERIC y DECIMAL son dos tipos de datos en SQL que en gran medida hacen lo mismo, ya que permiten a los usuarios agregar datos que incluyen puntos decimales. Los tipos de datos INTEGER no lo permiten. Los dos son prácticamente idénticos, pero los desarrolladores deben elegir uno y seguir con él para una base de datos determinada, ya que SQL no los reconoce como idénticos. Sin embargo, después de declarar cada tipo de datos, deberá ingresar valores para (p, s), en los que p se refiere al número total de dígitos del número, mientras que s se refiere al número de lugares después del decimal.
Explora más sobre este tema
Selecciona un tema y sigue aprendiendo...
