MySQL是十六进制的

MySQL是十六进制的,mysql,hex,Mysql,Hex,在MySQL中,如何检查varchar代码是否为十六进制 类似于ISHEX()函数: ISHEX('QWERT') // false ISHEX('12345') // true ISHEX('ABCDE') // true ISHEX('i+5=G') // false 使用REGEXP操作符怎么样 SELECT 'QWERT' REGEXP '^[0-9ABCDEF]+$'; -- 0 SELECT '12345' REGEXP '^[0-9ABCDEF]+$'; -- 1 SEL

在MySQL中,如何检查varchar代码是否为十六进制

类似于ISHEX()函数:

 ISHEX('QWERT') // false
 ISHEX('12345') // true
 ISHEX('ABCDE') // true
 ISHEX('i+5=G') // false

使用REGEXP操作符怎么样

SELECT 'QWERT' REGEXP '^[0-9ABCDEF]+$'; -- 0
SELECT '12345' REGEXP '^[0-9ABCDEF]+$'; -- 1
SELECT 'ABCDE' REGEXP '^[0-9ABCDEF]+$'; -- 1
SELECT 'i+5=G' REGEXP '^[0-9ABCDEF]+$'; -- 0

使用REGEXP操作符怎么样

SELECT 'QWERT' REGEXP '^[0-9ABCDEF]+$'; -- 0
SELECT '12345' REGEXP '^[0-9ABCDEF]+$'; -- 1
SELECT 'ABCDE' REGEXP '^[0-9ABCDEF]+$'; -- 1
SELECT 'i+5=G' REGEXP '^[0-9ABCDEF]+$'; -- 0

MySQL有一个很酷的小函数,叫做

我还没有尝试过这个方法,但对于想尝试一下并避免使用正则表达式的人,可以使用以下方法:

SELECT !ISNULL(UNHEX('your string')); -- returns 0 since it failed unhexing
SELECT !ISNULL(UNHEX('AF0B')); -- returns 1 since it succeeded

MySQL有一个很酷的小函数,叫做

我还没有尝试过这个方法,但对于想尝试一下并避免使用正则表达式的人,可以使用以下方法:

SELECT !ISNULL(UNHEX('your string')); -- returns 0 since it failed unhexing
SELECT !ISNULL(UNHEX('AF0B')); -- returns 1 since it succeeded

完美的我对正则表达式了解不多,我可以改写[0-9A-F]吗?太好了!我对正则表达式了解不多,我可以改写[0-9A-F]吗?