STRCMP函数是 MySQL 中的一个字符串比较函数,用于比较两个字符串的大小。不区分大小写。
STRCMP(str1, str2)
str1,str2:要比较的两个字符串。
返回值:它可以赋予四种价值-
如果str1 = str2,则此函数返回0
如果str1 <str2,则此函数返回-1
如果str1> str2,则此函数返回1
如果一个或两个字符串均为NULL,则此函数返回NULL。
比较字符串的大小:
mysql> SELECT STRCMP('Hello', 'Hell'),STRCMP('Hello', 'HellO'),STRCMP('Hello', 'Hellos'),STRCMP('Hello', NULL); +-------------------------+--------------------------+---------------------------+-----------------------+ | STRCMP('Hello', 'Hell') | STRCMP('Hello', 'HellO') | STRCMP('Hello', 'Hellos') | STRCMP('Hello', NULL) | +-------------------------+--------------------------+---------------------------+-----------------------+ | 1 | 0 | -1 | NULL | +-------------------------+--------------------------+---------------------------+-----------------------+
![]() | 需要注意的是,STRCMP函数按照字典序进行比较,即按照字符的 Unicode 值来比较。它会逐个比较字符串中的字符,如果两个字符的 Unicode 值不同,则比较结果就是这两个字符的大小关系。如果两个字符串的所有字符都相同,则它们的比较结果为 0,表示相等。 |
这是详细信息得内容。
-- ---------------------------- -- Table structure for students -- ---------------------------- DROP TABLE IF EXISTS `students`; CREATE TABLE `students` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- ---------------------------- -- Records of students -- ---------------------------- INSERT INTO `students` VALUES ('1', 'Odin'); INSERT INTO `students` VALUES ('2', '小胡'); INSERT INTO `students` VALUES ('3', 'Jack'); INSERT INTO `students` VALUES ('4', 'BOB'); INSERT INTO `students` VALUES ('5', '星星');
原始数据
mysql> SELECT * FROM students; +----+--------+ | id | name | +----+--------+ | 1 | Odin | | 2 | 小胡 | | 3 | Jack | | 4 | BOB | | 5 | 星星 | +----+--------+
比如说除了名称叫BOB都显示
mysql> SELECT * FROM students WHERE STRCMP(name, 'BOB'); +----+--------+ | id | name | +----+--------+ | 1 | Odin | | 2 | 小胡 | | 3 | Jack | | 5 | 星星 | +----+--------+
我们将表name字段与字符串 "BOB" 的比较结果进行排序。因为 "BOB" 存在,所以比它小的字符串都排在它前面,比它大的字符串都排在它后面
mysql> SELECT * FROM students ORDER BY STRCMP(name, 'BOB'); +----+--------+ | id | name | +----+--------+ | 4 | BOB | | 1 | Odin | | 2 | 小胡 | | 3 | Jack | | 5 | 星星 | +----+--------+
总的来说,STRCMP函数是 MySQL 中一个简单的字符串比较函数,可以用于比较两个字符串的大小。在使用STRCMP函数时,需要注意比较的字符串的类型和内容是否正确,以及比较结果的正确性。