我如何在 MariaDB 中使用 LIKE 运算符来获取最大和最小 4 个字符的 PostalCode 列表?

How do i use LIKE operator in MariaDB for a list of PostalCode with s max and min of 4 characters?

我有这个包含一些随机信息的数据库。在数据库中,我需要使用 LIKE 运算符来查找最少 4 个字符和最多 4 个字符的所有邮政编码。

假设 PostalCode 列是 VARCHAR 数据类型,有几种可能的模式。使用 LIKE 比较运算符,我们可以使用四个下划线通配符

 PostalCode LIKE '____' 

每个下划线匹配一个任意字符,包括space和特殊字符。 PostalCode 的任何值,如果此表达式的值为 1 (TRUE),我们可以说它满足 "max and min of 4 characters".

另一种选择是计算字符数,使用 MySQL CHAR_LENGTH 函数

CHAR_LENGTH(PostalCode) = 4 

为了满足使用 LIKE 运算符的要求,我们可以使用 LIKE 代替 equals 并允许隐式类型转换,例如

CHAR_LENGTH(PostalCode) LIKE '4'

另一种选择是使用 REGEXP 比较,例如

PostalCode REGEXP '^....$'

同样,根据包含 LIKE 比较的要求,我们可以比较该表达式中的 return,这是不必要的混淆

 ( PostalCode REGEXP '^....$' ) LIKE '1'