SQL Server CHARINDEX()函数?
在本文中,我们将学习SQL Server CHARINDEX()函数。
SQL Server CHARINDEX()函数的工作原理
SQL Server具有用于处理和处理字符串数据的各种功能。
CHARINDEX()是此类函数之一。
SQL CHARINDEX()函数使我们能够搜索一个字符串或者一组字符串中的特定子字符串。
此外,如果找到了子字符串,则CHARINDEX()函数返回子字符串在字符串中的位置。
让我们借助示例来理解这个概念。
考虑一个招聘的在线门户。
他们通过收集每个人的详细信息来招募学生/客户以获取安置帮助。
如果所有者希望检查每个电子邮件的电子邮件ID是否符合标准格式,则开发人员可以使用SQL CHARINDEX()函数来实现。
通过使用此功能,他们可以检查输入的电子邮件ID中是否存在字符" @"。
我希望你们已经了解CHARINDEX()函数的工作原理和重要性。
现在,让我们在下一部分中介绍相同的语法。
CHARINDEX()函数的结构
" CHARINDEX()函数"在字符串中搜索特定子字符串的存在。
如果找到,它将返回子字符串的索引。
CHARINDEX(sub-string, data, start_index)
sub-string:要搜索的字符串。
data:输入字符串的集合。
start_index(可选):搜索开始的位置。
此外,如果未找到子字符串,则CHARINDEX()函数将返回零(0)。
现在,让我们通过以下示例实现CHARINDEX()函数。
通过示例实现SQL Server CHARINDEX()函数
在下面的示例中,我们在提供的子字符串中搜索了"。
"的存在。
此外,CHARINDEX()函数已返回其位置。
SELECT CHARINDEX('.', '[email protected]') AS Position;
输出:
18
现在,我们在命令中查找了" Pune"的存在,并将起始索引提供为5。
此外,我们还在下面提供的字符串中寻找了" Name"。
SELECT CHARINDEX('Pune','I live in Pune',5) AS Present_City, CHARINDEX('Name','Hello Everyone') AS Name;
可以理解,字符串中不存在子字符串"名称"。
因此,CHARINDEX()函数已返回0。
输出:
带start_index的SQL Server CHARINDEX()函数
现在,我们使用以下数据列创建了一个"信息"表:
- ID
此外,我们已将数据插入到SQL Server数据库中创建的表中。
CREATE TABLE Info ( id INT PRIMARY KEY, email VARCHAR (255) NOT NULL ); INSERT INTO Info ( id, email ) VALUES ( 1, '[email protected] ' ), ( 2, '[email protected] ' ), ( 3, ' georgegmail.com ' );
现在,我们已经应用CHARINDEX()函数来搜索"电子邮件"列的每个数据值中是否存在" @"。
SELECT email, CHARINDEX('@', email) AS "Presence of @" FROM Info;