CursosEmpresasBlogLiveConfPrecios

Rangos

Clase 16 de 22 • Curso de PostgreSQL 2017

Clase anteriorSiguiente clase

Contenido del curso

Introducción a Postgresql

  • 1
    PostgreSQL: qué es

    PostgreSQL: qué es

    07:59 min
  • 2
    Lo nuevo en Postgresql

    Lo nuevo en Postgresql

    01:32 min
  • 3
    ¿Por qué es PostgreSQL?

    ¿Por qué es PostgreSQL?

    19:41 min
  • 4
    Entendiendo el Core de Postgresql

    Entendiendo el Core de Postgresql

    11:50 min
  • 5
    Archivos de configuración

    Archivos de configuración

    13:55 min
  • 6
    Manejo De Conexiones

    Manejo De Conexiones

    30:21 min
  • 7
    Preguntas y Respuestas

    Preguntas y Respuestas

    19:12 min
  • 8
    [Extra] Cómo instalar PostgreSQL en Linux, Windows y OS X (Mac).

    [Extra] Cómo instalar PostgreSQL en Linux, Windows y OS X (Mac).

    00:00 min

Roles, Tipos de Datos, Rangos y JSON en Postgresql

  • 9
    Uso de roles en Postgresql

    Uso de roles en Postgresql

    19:14 min
  • 10
    Creando una base de datos

    Creando una base de datos

    06:57 min
  • 11
    Arquitectura de la información usando esquemas

    Arquitectura de la información usando esquemas

    04:43 min
  • 12
    Privilegios de usuario

    Privilegios de usuario

    08:27 min
  • 13
    Datos seriales

    Datos seriales

    05:35 min
  • 14
    Cadenas de texto

    Cadenas de texto

    06:03 min
  • 15
    Arreglos

    Arreglos

    11:07 min
  • 16
    Rangos

    Rangos

    Viendo ahora
  • 17
    JSON

    JSON

    15:47 min
  • 18
    Preguntas y Respuestas

    Preguntas y Respuestas

    10:40 min

JSON y Postgis

  • 19
    Manejo de Documentos JSON

    Manejo de Documentos JSON

    28:06 min
  • 20
    Postgres HStore

    Postgres HStore

    26:53 min
  • 21
    PostGis

    PostGis

    28:00 min
  • 22
    Preguntas y Respuestas

    Preguntas y Respuestas

    12:27 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
        RODRIGO NOREÑA ARTEAGA

        RODRIGO NOREÑA ARTEAGA

        student•
        hace 10 años

        Por si a alguien le interesa la tabla data con datos para el ejercicio:

        -- Crear tabla CREATE TABLE data(     gender varchar(10),     height numeric,     weight numeric ); --Poblarla (mediante un bloque anonimo de PL/pgSQL) 150 registros DO $$DECLARE r record; BEGIN    FOR i IN 1..150 LOOP     INSERT INTO data      SELECT       (SELECT CASE WHEN CEIL(RANDOM()*2) = 1 THEN 'Male' ELSE 'Female' END) as gender,       (SELECT 72 - ROUND((RANDOM()*3)::numeric, 2)) as height,  -- esto genera valores entre 69 y 72       (SELECT 100 - ROUND((RANDOM()*45)::numeric,2)) as weight     ;    END LOOP; END$$
          Wildin Mota

          Wildin Mota

          student•
          hace 8 años

          Gracias!!

          Cesar David Ramírez Dimaté

          Cesar David Ramírez Dimaté

          student•
          hace 8 años
          sujeto.png
        Juan Samudio

        Juan Samudio

        student•
        hace 10 años

        Se pueden definir rangos de datos de un campo de la tabla y obtener los que cumplan con ese rango a través de la clausula "@>". Ejemplo:

        ---SELECT * FROM data WHERE '[70,0,71,0)'::numrange @> height;

        Devuelve todos los registros de la tabla data mientras la columna height esté en el rango definido.

          José David García Rodríguez

          José David García Rodríguez

          student•
          hace 9 años

          Gracias por ponerlo más claro.

          Tecno Motum

          Tecno Motum

          student•
          hace 9 años

          es [70.0,71.0)

        Leonardo Pérez Anguiano

        Leonardo Pérez Anguiano

        student•
        hace 10 años

        los parentesis se ocupan para denotar un rango donde no incluye el valor
        los corchetes (parentesis cuadrados) indican que debe incluir el valor

        (10    =  11  (apartir del 10 en adelante)
        [10    =  10  (apartir del 10 en adelante pero incluye el 10)

          Cesar David Ramírez Dimaté

          Cesar David Ramírez Dimaté

          student•
          hace 8 años

          ¿Por qué el query SELECT '[2015-07-01, 2015-08-01]'::daterange; su resultado es "[2015-07-01,2015-08-02)"? ¿No debería tomarlo hasta el 01 de Agst por tener ]?

          Lucas Antognini

          Lucas Antognini

          student•
          hace 7 años

          Por que el SELECT dice que quiere fechas desde 2015-07-01 a 2015-08-01 incluido, el resultado ‘[2015-07-01,2015-08-02)’ indica que la fecha debe ser mayor o igual que 2015-07-01 y menor que 2015-08-02 sin incluir esta última fecha, por lo que es lo mismo que decir [2015-07-01,2015-08-01] asi que se pueden usar los dos

        Luis Miguel Perea Lopez Perea

        Luis Miguel Perea Lopez Perea

        student•
        hace 10 años

        "El rango va del lado izquierdo, y del lado derecho el valor que queremos usar"

        Carlos Enrique Ramírez Flores

        Carlos Enrique Ramírez Flores

        student•
        hace 8 años

        CADA VEZ QUE EL QUERY TENGA :: (2 PUNTOS) y un tipo de dato a la derecha. Estamos diciendo que convierta lo que esta a la izquierda al tipo de dato de la derecha.

        <code> en función int8range el [ significa que incluye desde el primer valor hasta el segundo valor : ejemplo. [0,6) imprime [0,6) SELECT '[0,6)'::int8range; el ( significa que imprimira cualquier numero mayor al primer parametro hasta el valor del segundo valor. ejemplo : (0,6) imprime [1,6) SELECT '(0,6)'::int8range;
        Ramiro Perez Zamorano

        Ramiro Perez Zamorano

        student•
        hace 10 años

        Rango de interos, decimales, timestamp
        SELECT '(0,6)'::int8range;

        Cesar Augusto

        Cesar Augusto

        student•
        hace 9 años

        En lugar del top:

        SELECT * FROM data LIMIT 5;

          Cesar David Ramírez Dimaté

          Cesar David Ramírez Dimaté

          student•
          hace 8 años

          Así es. El SELECT TOP([n_registros]) no existe en PostgreSQL. Para eso se debe usar LIMIT.

        Francisco Prado

        Francisco Prado

        student•
        hace 8 años

        Es

        select * from data limit 5

        Alejandro Valenzuela

        Alejandro Valenzuela

        student•
        hace 7 años

        Buenas tengo la siguiente consulta, en el examen me preguntaron lo siguiente:
        PostreSQL soporta Range para definir rangos, la siguiente sintaxis:

        SELECT '[0,5)'::int8range;

        Crea un rango que incluye los nro:
        mi respuesta fue:

        0,1,2,3,4

        Cual seria la respuesta correcta ya que me tiro un error??
        Saludos.

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 7 años

          Gracias, vamos a revisa la pregunta del examen.

          Alejandro Valenzuela

          Alejandro Valenzuela

          student•
          hace 7 años

          Ranfery_Alvarez gracias por tu respuesta, el tema que el “)” significa que el valor no lo incluye, en cambio el “[” que lo incluya.
          Gracias.

        RODRIGO NOREÑA ARTEAGA

        RODRIGO NOREÑA ARTEAGA

        student•
        hace 10 años

        En las comparaciones si los rangos son muy extensos (ejemplo loco: las fechas de 1000 años), que es menos costoso, comparar con rango o con between.

        Edward Acu

        Edward Acu

        student•
        hace 7 años

        me he quedado con la duda de como es el correcto uso de TOP en postgresql, en mysql para limitar los datos se utiliza limit, pero me dio la idea que podría ser una función similar a MAX que trae los valores mas altos.
        ¿algún experto que resuelva mi duda?

          Edward Acu

          Edward Acu

          student•
          hace 7 años

          me he quedado con la duda de como es el correcto uso de TOP en postgresql, en mysql para limitar los datos se utiliza limit, pero me dio la idea que podría ser una función similar a MAX que trae los valores mas altos. ¿algún experto que resuelva mi duda?

          Gustavo Herrera

          Gustavo Herrera

          student•
          hace 7 años

          Buenas, TOP se utiliza para traer los primeros registros de la tabla que tu especifiques, por ejemplo SELECT TOP 3 * FROM Customers; traerá los tres primeros registros de la tabla customers, no obstante puedes alterar el orden con un order by ascendente o descendente, da lo mismo que usar limit ya depende del motor de base de datos que utilices. En postgresql TOP no esta soportado por lo que para el efecto debes usar LIMIT. Si usas MAX para un campo especifico solo te traerá un registro (el del valor mas alto).

          Espero haber aclarado tu duda 😃. Saludos

        Juan Castillo

        Juan Castillo

        student•
        hace 10 años

        es muy util saber las capacidades que tiene este motor de bases de datos a comparacion del resto, son muy buenos videos ya que no explican lo mismo de siempre, muchas gracias

        Diego Saldívar

        Diego Saldívar

        student•
        hace 7 años

        Rango infinito
        SELECT [100,)::int8range;

        Usuario anónimo

        Usuario anónimo

        user•
        hace 6 años

        top in postgres SELECT UNNEST(x[0:15]) FROM (select '{mysql,postgresql,sqlite,oracle,sqlserver,mongo,maria}'::text[] AS x) AS y limit 3;

        :)

        Tatiana Andrea Aramburo Morales

        Tatiana Andrea Aramburo Morales

        student•
        hace 10 años

        Los rangos se pueden usar con tipos de datos=> enteros, decimales, fechas y time stamp

        Cesar Augusto

        Cesar Augusto

        student•
        hace 9 años

        [ mayor o igual que
        ( mayor que

        Jhon Fredy Beltrán  León

        Jhon Fredy Beltrán León

        student•
        hace 8 años
        • Los paréntesis () determinan que el valor no se incluye en el rango
        • Los corchetes [] sí incluyen el valor en el rango
        Luis Alfredo Villalta López

        Luis Alfredo Villalta López

        student•
        hace 7 años
        SELECT '[0,6)'::int8range SELECT '[2015-07-01,2015-08-01]'::daterange; SELECT '[100,)'::int8range; SELECT * FROM data WHERE '[70.0.71.0]'::numrange @> height;```
        Erick Rojas Rojas Arias

        Erick Rojas Rojas Arias

        student•
        hace 9 años

        que significa int8range??

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 9 años

          Es un rango para bigintegers, que van de -9223372036854775808 a 9223372036854775807.

        José David García Rodríguez

        José David García Rodríguez

        student•
        hace 9 años

        Y si la columna que quiero evaluar en un rango, contiene un array, y quiero señalar específicamente una posición del array, ¿aplica la misma estructura explicada en el vídeo anterior?

          Cesar David Ramírez Dimaté

          Cesar David Ramírez Dimaté

          student•
          hace 8 años

          No creo que aplique, ya que en un campo puedes tener diferentes arrays de diferentes tamaños, aparte del tipo de dato que tenga ese array.