STRCMP()
顾名思义,MySQL函数用于比较两个字符串。我们需要提供两个字符串作为此函数的参数。它显示在下面的语法中-
STRCMP(Str1, Str2)
这里,
Str1是用于比较的第一个字符串。
Str2是用于比较的第二个字符串。
mysql> Select STRCMP('MySQL', 'MySQL'); +--------------------------+ | STRCMP('MySQL', 'MySQL') | +--------------------------+ | 0 | +--------------------------+ 1 row in set (0.00 sec) mysql> Select STRCMP('MSQL', 'MySQL'); +-------------------------+ | STRCMP('MSQL', 'MySQL') | +-------------------------+ | -1 | +-------------------------+ 1 row in set (0.00 sec) mysql> Select STRCMP('MySQL', 'MSQL'); +-------------------------+ | STRCMP('MySQL', 'MSQL') | +-------------------------+ | 1 | +-------------------------+ 1 row in set (0.00 sec)
在上面的示例中,我们可以看到两个字符串之间的比较,MySQL相应地返回了输出。
基本上,STRCMP()
方法经过比较可以给出四种输出-
输出0: STRCMP()
如果两个字符串相同,则MySQL函数返回0。
输出1:STRCMP()
如果第二个字符串小于第一个字符串,则MySQL函数返回1。
输出-1:STRCMP()
如果第一个字符串小于第二个字符串,则MySQL函数返回-1。
输出NULL:STRCMP()
如果函数的一个或两个参数均为NULL,则MySQL函数返回STRCMP()
NULL。
mysql> Select STRCMP('Test', 'Test')As 'Equal Strings', STRCMP('TestABC', 'Test')AS '2nd Smaller', STRCMP('Test', 'TestABC')AS '1st Smaller', STRCMP('Test', NULL)As '2nd NULL',STRCMP(NULL, 'Test')AS '1st NULL',STRCMP(NULL,NULL)AS 'Both NULL'; +---------------+-------------+-------------+----------+----------+-----------+ | Equal Strings | 2nd Smaller | 1st Smaller | 2nd NULL | 1st NULL | Both NULL | +---------------+-------------+-------------+----------+----------+-----------+ | 0 | 1 | -1 | NULL | NULL | NULL | +---------------+-------------+-------------+----------+----------+-----------+ 1 row in set (0.00 sec)