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

sự khác biệt giữa UNHEX và X (MySQL)

UNHEX() là một chức năng , do đó bạn có thể làm điều gì đó như

SET @var = '41';
SELECT UNHEX(@var);
SELECT UNHEX(hex_column) FROM my_table;

X mặt khác, là cú pháp của litteral thập lục phân . Bạn không thể làm điều này:

SET @var = '41';
SELECT [email protected]; -- error (string litteral expected)
SELECT X'@var'; -- error (`@` is not a hexadecimal digit)
SELECT X(@var); -- returns NULL, not too sure about the reason... [edit: but this is probably why you are inserting NULL values]
SELECT X(hex_column) FROM my_table; -- returns NULL as well

Điều này giải thích tại sao bạn luôn có được hiệu suất tốt hơn với X :bạn đang sử dụng một cấu trúc ngôn ngữ thay vì một lời gọi hàm. X không cần đánh giá một biến, vì nó cần một chuỗi nhỏ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự cố khi tìm kiếm với MySQL

  2. Truy vấn MySQL để chọn kết quả có tăng tự động dưới dạng cột mới được thêm vào kết quả

  3. Làm cách nào để tìm địa chỉ IP của kết nối của người dùng hiện tại trong MySQL?

  4. làm mới div php động bằng jquery

  5. Hibernate @Enumerated dường như bị bỏ qua