SQL 比较字符串

SQL 比较字符串

在这个SQL部分,我们将讨论如何在结构化查询语言中比较两个或多个字符串。

我们可以使用STRCMP字符串函数、LIKE运算符和等号运算符来比较两个或多个字符串。

STRCMP字符串函数

STRCMP是一个用于比较指定两个字符串的函数,如果第一个字符串的长度等于第二个字符串的长度,则返回0。如果第一个字符串的长度大于第二个字符串的长度,则函数返回1,否则返回-1。

STRCMP函数的语法

SELECT STRCMP (String_1, String_2);

STRCMP字符串函数的示例

示例1: 以下SELECT查询比较了JAVATPOINT和EXAMPLES字符串的长度:

SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');

输出:

1

示例2: 以下的SELECT查询使用STRCMP函数比较了两个句子的长度:

SELECT STRCMP ('Website is good', 'javatpoint is good');

输出:

-1

示例3: 以下的SELECT查询比较了两个城市的长度:

SELECT STRCMP (  'Delhi', 'Noida');

输出:

0

LIKE操作符

LIKE操作符将与字段的每一行匹配特定的模式,并在输出中返回匹配的值。这个操作符通常与SQL语句中的WHERE子句一起使用。

Like操作符的语法

SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;

LIKE运算符的示例

让我们来看下面的学生表:

Roll_No First_Name City Age Percentage Grade
101 Akash Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Delhi 20 89 A2
104 Bhavna Delhi 19 78 B1
105 Yatin Lucknow 20 75 B1
106 Ishika Ghaziabad 19 91 C1
107 Vivek Goa 20 80 B2

查询1: 以下查询显示了以上学生表中名字以’B’字母开头的学生记录:

SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';

查询结果如下:

Roll_No First_Name Percentage Grade
102 Bhavesh 93 A1
104 Bhavna 78 B1

与上述输出的示例一样,表中只包含Bhavesh和Bhavna学生的记录,因为他们的名字以字母B开头。

查询2: 下面的查询显示了给定的Student表中名字中包含字符’a’的学生的记录:

SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;

上述查询的输出:

Roll_No First_Name City Age Percentage Grade
101 Akash Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Yash Delhi 20 89 A2
104 Bhavna Delhi 19 78 B1
105 Yatin Lucknow 20 75 B1
106 Ishika Ghaziabad 19 91 C1

等号运算符 (=)

它是一种比较运算符,用于显示给定SQL表中匹配的数据。

这个运算符在结构化查询语言中被数据库用户广泛使用。

如果数据库表中的列值与查询中指定的值相同,则该运算符将返回TRUE行。

等号运算符的语法:

SELECT * FROM Table_Name WHERE Column_Name = Value;

等号运算符示例

我们参考下面的Worker表格:

Worker_Id Worker_Name Worker_City Worker_Salary Worker_Bonus
101 Anuj Ghaziabad 35000 2000
102 Tushar Lucknow 29000 3000
103 Vivek Kolkata 35000 2500
104 Shivam Goa 22000 3000

以下查询显示了工人表中工资为35000的工人的记录:

SELECT * FROM Worker WHERE Worker_Salary = 35000;

输出:

Worker_Id Worker_Name Worker_City Worker_Salary Worker_Bonus
101 Anuj Ghaziabad 35000 2000
103 Vivek Kolkata 35000 2500

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程