Mengingat pernyataan SQL sebagai string, mengembalikan nilai hash intisari pernyataan sebagai string dalam rangkaian karakter koneksi, atau NULL jika argumennya NULL. Fungsi STATEMENT_DIGEST_TEXT() terkait mengembalikan intisari pernyataan yang dinormalisasi. Untuk informasi tentang pencernaan pernyataan, lihat Bagian 29.10, “Intisari dan Pengambilan Sampel Pernyataan Skema Kinerja”.
SET @stmt = 'SELECT * FROM mytable WHERE cola = 10 AND colb = 20';
SELECT STATEMENT_DIGEST(@stmt);
+------------------------------------------------------------------+
| STATEMENT_DIGEST(@stmt) |
+------------------------------------------------------------------+
| 3bb95eeade896657c4526e74ff2a2862039d0a0fe8a9e7155b5fe492cbd78387 |
+------------------------------------------------------------------+
SELECT STATEMENT_DIGEST_TEXT(@stmt);
+----------------------------------------------------------+
| STATEMENT_DIGEST_TEXT(@stmt) |
+----------------------------------------------------------+
| SELECT * FROM `mytable` WHERE `cola` = ? AND `colb` = ? |
+----------------------------------------------------------+
Both functions use the MySQL parser to parse the statement. If parsing fails, an error occurs. The error message includes the parse error only if the statement is provided as a literal string.
SET @stmt = 'SELECT * FROM mytable WHERE cola = 10 AND colb = 20';
SELECT STATEMENT_DIGEST(@stmt);
+------------------------------------------------------------------+
| STATEMENT_DIGEST(@stmt) |
+------------------------------------------------------------------+
| 3bb95eeade896657c4526e74ff2a2862039d0a0fe8a9e7155b5fe492cbd78387 |
+------------------------------------------------------------------+
SELECT STATEMENT_DIGEST_TEXT(@stmt);
+----------------------------------------------------------+
| STATEMENT_DIGEST_TEXT(@stmt) |
+----------------------------------------------------------+
| SELECT * FROM `mytable` WHERE `cola` = ? AND `colb` = ? |
+----------------------------------------------------------+