PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để chọn UUID tối thiểu với kết nối bên ngoài bên trái?

Đã tìm thấy giải pháp, bật ra chức năng so sánh UUID từ bài đăng này không đúng. Đây là hàm tôi đã viết, có lẽ ít hoạt động hơn, vượt qua tất cả các trường hợp nó không thành công trước đây:

    CREATE FUNCTION min_uuid(uuid, uuid)
    RETURNS uuid AS $$
    BEGIN
        -- if they're both null, return null
        IF $2 IS NULL AND $1 IS NULL THEN
            RETURN NULL ;
        END IF;

        -- if just 1 is null, return the other
        IF $2 IS NULL THEN
            RETURN $1;
        END IF ;
        IF $1 IS NULL THEN
            RETURN $2;
          END IF;

        -- neither are null, return the smaller one
        IF $1 > $2 THEN
            RETURN $2;
        END IF;

        RETURN $1;
    END;
    $$ LANGUAGE plpgsql;


    create aggregate min(uuid) (
      sfunc = min_uuid,
      stype = uuid,
      combinefunc = min_uuid,
      parallel = safe,
      sortop = operator (<)
    );



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres không thể nghe một địa chỉ IP cụ thể

  2. Chỉ mục một phần không được sử dụng trong mệnh đề ON CONFLICT khi thực hiện nâng cấp trong Postgresql

  3. Cách phân tích cú pháp JSON trong postgresql

  4. pgAdmin III:Không có máy chủ nào hiển thị

  5. sử dụng id trả về từ insert into, để chèn bản ghi bằng khóa ngoại