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

Hàm Mysql để chuyển đổi các giá trị không rỗng

Rất tiếc là không có chức năng nào cho hành vi của bạn, nhưng thật đơn giản để tạo chức năng của riêng bạn nếu bạn có quyền cho điều đó, cách khôn ngoan khác là bạn cũng có thể thêm IF THEN ELSE cho truy vấn của bạn như bạn đã hiển thị nhưng đó sẽ không phải là câu trả lời cho câu hỏi của bạn. Nếu bạn muốn tạo một hàm thì bạn sẽ gặp vấn đề là bạn cần các kiểu tham số rõ ràng và với mysql, rất tiếc là nó cũng không hoạt động để nạp chồng một hàm (cùng tên hàm nhưng khác kiểu tham số). Vì vậy, bạn cần cho các loại chức năng khác nhau với các tên chức năng khác nhau. Nó sẽ trông như thế:

    CREATE FUNCTION `fmap_varchar`(e1 VARCHAR(255), e2 VARCHAR(255) )
    RETURNS VARCHAR(255) DETERMINISTIC
    RETURN IF(e1 IS NULL, NULL, e2);

Bạn cũng có thể phải quan tâm đến bộ ký tự chính xác mà bạn cũng có thể chỉ định trong mệnh đề trả về.

Và giải pháp với một truy vấn bạn đã đưa ra:

    SELECT IF(something IS NULL, NULL, anotherthing) FROM your_table;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Spring Boot với Hibernate:Lược đồ cơ sở dữ liệu tự động tạo với các cột có thể chứa vài phần giây

  2. Nhóm theo mệnh đề trong mySQL và postgreSQL, tại sao lỗi trong postgreSQL?

  3. MySQL Socket từ chối kết nối sau hàng nghìn kết nối liên tiếp

  4. Lỗi MySQL 1449:Người dùng được chỉ định làm trình xác định không tồn tại

  5. Làm cách nào để kết hợp kết quả của hai truy vấn với thứ tự?