Collections:
STATEMENT_DIGEST_TEXT() - Calculating Statement Digest
How to calculate MySQL statement digest using the STATEMENT_DIGEST_TEXT() function?
✍: FYIcenter.com
STATEMENT_DIGEST_TEXT(statement) is a MySQL built-in function that
normalizes a given MySQL statement into a statement digest.
For example:
SELECT STATEMENT_DIGEST_TEXT('SELECT NOW()');
-- +---------------------------------------+
-- | STATEMENT_DIGEST_TEXT('SELECT NOW()') |
-- +---------------------------------------+
-- | SELECT NOW ( ) |
-- +---------------------------------------+
SELECT STATEMENT_DIGEST_TEXT('SELECT help_topic_id, name FROM mysql.help_topic');
-- +---------------------------------------------------------------------------+
-- | STATEMENT_DIGEST_TEXT('SELECT help_topic_id, name FROM mysql.help_topic') |
-- +---------------------------------------------------------------------------+
-- | SELECT `help_topic_id` , NAME FROM `mysql` . `help_topic` |
-- +---------------------------------------------------------------------------+
Note that multiple MySQL statements may have the same statement digest. For example:
SET @stmt = 'SELECT * FROM mytable WHERE cola = 10 AND colb = 20'; SELECT STATEMENT_DIGEST_TEXT(@stmt); -- +---------------------------------------------------------+ -- | STATEMENT_DIGEST_TEXT(@stmt) | -- +---------------------------------------------------------+ -- | SELECT * FROM `mytable` WHERE `cola` = ? AND `colb` = ? | -- +---------------------------------------------------------+ SET @stmt = 'SELECT * FROM mytable WHERE cola = 1 AND colb = 2'; SELECT STATEMENT_DIGEST_TEXT(@stmt); -- +---------------------------------------------------------+ -- | STATEMENT_DIGEST_TEXT(@stmt) | -- +---------------------------------------------------------+ -- | SELECT * FROM `mytable` WHERE `cola` = ? AND `colb` = ? | -- +---------------------------------------------------------+
Also note that STATEMENT_DIGEST_TEXT() validates the given MySQL statement before calculating the hash value. If an invalid statement is provided, you will get an error. For example:
SELECT STATEMENT_DIGEST_TEXT('I AM NOT A STATEMENT');
ERROR 3676 (HY000): Could not parse argument to digest function:
"You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near
'I AM NOT A STATEMENT' at line 1".
Reference information of the STATEMENT_DIGEST_TEXT() function:
STATEMENT_DIGEST_TEXT(statement): str Normalizes a given MySQL statement into a statement digest. Arguments, return value and availability: statement: Required. The MySQL statement string to be processed. str: Return value. The statement digest. Available since MySQL 4.1.
Related MySQL functions:
⇒ UNCOMPRESS() - Uncompressing Data
⇐ STATEMENT_DIGEST() - Statement Digest Hash
2023-12-15, 1520🔥, 0💬
Popular Posts:
Where to find SQL Server database server tutorials? Here is a collection of tutorials, tips and FAQs...
Where to find answers to frequently asked questions on Downloading and Installing SQL Server 2005 Ex...
How To Calculate Age in Days, Hours and Minutes in SQL Server Transact-SQL? On many Web sites, news ...
How To Start the Command-Line SQL*Plus in Oracle? If you Oracle server or client installed on your w...
How To Connect to a MySQL Server with a Port Number in MySQL? If you want to connect a MySQL server ...