Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

perbedaan antara UNHEX dan X (MySQL)

UNHEX() apakah fungsi , oleh karena itu Anda dapat melakukan sesuatu seperti

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

X , di sisi lain, adalah sintaks untuk literal heksadesimal . Anda tidak dapat melakukan ini:

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

Ini menjelaskan mengapa Anda selalu mendapatkan kinerja yang lebih baik dengan X :Anda menggunakan konstruksi bahasa alih-alih panggilan fungsi. X tidak perlu mengevaluasi variabel, karena mengharapkan string literal.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat gabungan yang berbeda dengan MySQL

  2. Apakah Tampilan MySql Dinamis dan Efisien?

  3. Bagaimana cara menambahkan kotak teks dinamis (baris) dan menyimpan ke database menggunakan PHP

  4. Kinerja MySQL:JOIN ON vs WHERE

  5. MySQL Workbench memperoleh akses untuk administrasi?