SQL 字符串函数
在本文中,您将详细了解结构化查询语言的各种字符串函数,并附有示例。
SQL中的字符串函数是什么?
SQL字符串函数是预定义函数,允许数据库用户进行字符串操作。这些函数只接受、处理和提供字符串数据类型的结果。
下面是结构化查询语言中最重要的字符串函数:
- ASCII()
- CHAR_LENGTH()
- CHARACTER_LENGTH()
- CONCAT()
- CONCAT_WS()
- FIND_IN_SET()
- FORMAT()
- INSERT()
- INSTR()
- LCASE()
- LEFT()
- LOCATE()
- LOWER()
- LPAD()
- LTRIM()
- MID()
- POSITION()
- REPEAT()
- REPLACE()
- REVERSE()
- RIGHT()
- RPAD()
- RTRIM()
- SPACE()
- STRCMP()
- SUBSTR()
- SUBSTRING()
- SUBSTRING_INDEX()
- UCASE()
- UPPER()
让我们简要讨论每个字符串函数以及与SQL表的关系。
现在,我们在SQL中创建一个新表,以帮助理解每个字符串函数。创建SQL数据库中新表的语法如下:
CREATE TABLE table_name
(
1st_Column Data Type (character_size of 1st Column),
2nd_Column Data Type (character_size of the 2nd column ),
3rd_Column Data Type (character_size of the 3rd column),
...
Nth_Column Data Type (character_size of the Nth column)
);
以下是创建 Faculty_Info 表的 CREATE 语句:
CREATE TABLE Faculty_Info
(
Faculty_ID INT NOT NULL PRIMARY KEY,
Faculty_First_Name VARCHAR (100),
Faculty_Last_Name VARCHAR (100),
Faculty_Dept_Id INT NOT NULL,
Faculty_AddressVarchar(120),
Faculty_City Varchar (80),
Faculty_Salary INT
);
以下INSERT查询将大学教师的记录插入到 Faculty_Info 表中:
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1001, Arush, Sharma, 4001, Aman Vihar, Delhi, 20000);
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1002, Bulbul, Roy, 4002, Nirman Vihar, Delhi, 38000 );
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1004, Saurabh, Sharma, 4001, Sector 128, Mumbai, 45000);
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1005, Shivani, Singhania, 4001, Vivek Vihar, Kolkata, 42000);
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1006, Avinash, Sharma, 4002, Sarvodya Calony, Delhi, 28000);
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary)VALUES (1007, Shyam, Besas, 4003, Krishna Nagar, Lucknow, 35000);
下面的SELECT语句显示了上述 Faculty_Info 表中插入的记录:
SELECT * FROM Faculty_Info;
Faculty_Id | Faculty_First_Name | Faculty_Last_Name | Faculty_Dept_Id | Faculty_Address | Faculty_City | Faculty_Salary |
---|---|---|---|---|---|---|
1001 | Arush | Sharma | 4001 | Aman Vihar | Delhi | 20000 |
1002 | Bulbul | Roy | 4002 | Nirman Vihar | Delhi | 38000 |
1004 | Saurabh | Roy | 4001 | Sector 128 | Mumbai | 45000 |
1005 | Shivani | Singhania | 4001 | Vivek Vihar | Kolkata | 42000 |
1006 | Avinash | Sharma | 4002 | Sarvodya Calony | Delhi | 28000 |
1007 | Shyam | Besas | 4003 | Krishna Nagar | Lucknow | 35000 |
ASCII字符串函数
此SQL函数返回输出中字符的ASCII值。它给出字符串最左边字符的ASCII值。
ASCII字符串函数语法:
语法1: 此语法使用ASCII函数与表列:
SELECT ASCII(Column_Name) as ASCII_Name FROM Table_Name;
语法2:这个语法使用ASCII字符集和字符串:
SELECT ASCII(String);
语法3:此语法使用ASCII字符:
SELECT ASCII(Character);
ASCII字符串函数示例:
以下SELECT查询使用ASCII代码与上述Faculty_Info表的Faculty_City列。
SELECT Faculty_City, ASCII(Faculty_City) AS ASCII_code_of_column FROM Faculty_Info;
这个查询显示了Faculty_City列中所有城市的第一个字符的ASCII码。
Faculty_City | ASCII_Code_of_column |
---|---|
Delhi | 68 |
Delhi | 68 |
Mumbai | 77 |
Kolkata | 75 |
Delhi | 68 |
Lucknow | 76 |
CHAR_LENGTH字符串函数
此字符串函数返回指定单词的长度。它显示单词中的字符数。
CHAR_LENGTH字符串函数的语法:
语法1:此语法使用CHAR_LENGTH()与表列:
SELECT CHAR_LENGTH(Column_Name) as Alias_Name FROM Table_Name;
语法2:这个语法使用CHAR_LENGTH()函数和单词一起使用:
SELECT CHAR_LENGTH(word);
字符长度字符串函数示例:
示例1: 此示例显示了JavaTpoint单词的字符数:
SELECT CHAR_LENGTH('JavaTpoint');
输出:
10
示例 2: 此示例使用 CHAR_LENGTH() 函数与上述 Faculty_Info 表的 Faculty_Last_Name 列。
SELECT Faculty_Last_Name, CHAR_LENGTH(Faculty_Last_Name) AS Length_of_Last_Namecolumn FROM Faculty_Info;
这个查询显示了每位教师姓氏的总字符数。
输出:
Faculty_Last_Name | Length_of_Last_Namecolumn |
---|---|
Sharma | 6 |
Roy | 3 |
Roy | 3 |
Singhania | 9 |
Sharma | 6 |
Besas | 5 |
CHARACTER_LENGTH 字符串函数
此字符串函数返回给定字符串的长度。它显示句子中所有字符和空格的数量。
CHARACTER_LENGTH 字符串函数的语法:
语法1: 此语法使用 CHARACTER_LENGTH() 与表列:
SELECT CHARACTER_LENGTH(Column_Name) AS Alias_Name FROM Table_Name;
语法2: 此语法使用CHARACTER_LENGTH()函数与字符串一起使用:
SELECT CHARACTER_LENGTH(String);
字符长款的字符串函数示例:
示例1: 以下SELECT查询显示了指定字符串的总字符数和空格数:
SELECT CHARACTER_LENGTH('JavaTpoint is a good company');
输出:
28
示例2: 以下SELECT查询使用了CHARACTER_LENGTH()函数,对上面的Faculty_Info表的Faculty_Addresss列进行操作。
SELECT Faculty_Address, CHARACTER_LENGTH(Faculty_Address) AS Length_of_Address_column FROM Faculty_Info;
这个SQL语句显示了每个教职员工的地址的总字符数和空格数。
输出:
Faculty_Address | Length_of_Address_column |
---|---|
Aman Vihar | 10 |
Nirman Vihar | 12 |
Sector 128 | 10 |
Vivek Vihar | 11 |
Sarvodya Calony | 15 |
Krishna Nagar | 13 |
CONCAT字符串函数
这个字符串函数将两个字符串或单词连接起来,并形成一个新的字符串作为结果。
CONCAT字符串函数的语法:
语法1: 这个语法使用CONCAT()和表列:
SELECT CONCAT(Column_Name1, Column_Name2, ..... column_NameN) AS Alias_Name FROM Table_Name;
Syntax2: 此语法使用CONCAT()与多个字符串:
SELECT CONCAT(String_1, String_2, String_3, ...., String_N);
CONCAT字符串函数的示例:
示例1: 以下SELECT查询将多个字符串附加到一个单独的字符串中:
SELECT CONCAT('JavaTpoint', ' is', ' a', ' good', ' company.');
输出:
JavaTpoint is a good company
示例2: 以下SELECT查询语句使用了以上Faculty_Info表中的Faculty_First_Name和Faculty_Last_Name列的CONCAT()函数:
SELECT Faculty_First_Name, Faculty_Last_Name CONCAT(Faculty_First_Name, Faculty_Last_Name) AS Append_First_LastName FROM Faculty_Info;
这个SQL语句将每个教师的名字和姓氏合并,如下表所示:
输出:
Faculty_First_Name | Faculty_Last_Name | Append_First_LastName |
---|---|---|
Arush | Sharma | Arush Sharma |
Bulbul | Roy | Bulbul Roy |
Saurabh | Roy | Saurabh Roy |
Shivani | Singhania | Shivani Singhania |
Avinash | Sharma | Avinash Sharma |
Shyam | Besas | Shyam Besas |
CONCAT_WS 字符串函数
此字符串函数使用连接符号将多个字符串或单词连接在一起。该函数使用另一个参数来表示连接符号。
CONCAT_WS 字符串函数的语法:
语法1: 这个语法将 CONCAT_WS() 与表列一起使用:
SELECT CONCAT_WS( Concatenate_symbol, Column_Name1, Column_Name2, ..... column_NameN) AS Alias_Name FROM Table_Name;
语法2: 此语法使用CONCAT_WS()与多个字符串:
SELECT CONCAT_WS(Concatenate_symbol, String_1, String_2, String_3, ...., String_N);
合并字符串函数CONCAT_WS的示例:
示例1: 以下SELECT查询使用加号(+)符号附加多个字符串:
SELECT CONCAT_WS('+', 'JavaTpoint', ' is', ' a', ' good', ' company');
输出:
JavaTpoint+is+a+good+company
示例2: 下面的SELECT查询使用了上面Faculty_Info表中的Faculty_First_Name和Faculty_Last_Name列的CONCAT_WS()函数:
SELECT Faculty_First_Name, Faculty_Last_Name CONCAT_WS('.', Faculty_First_Name, Faculty_Last_Name) AS Append_First_LastName FROM Faculty_Info;
这个SQL语句使用点符号合并每个教师的名字和姓氏。
输出结果:
Faculty_First_Name | Faculty_Last_Name | Append_First_LastName |
---|---|---|
Arush | Sharma | Arush.Sharma |
Bulbul | Roy | Bulbul.Roy |
Saurabh | Roy | Saurabh.Roy |
Shivani | Singhania | Shivani.Singhania |
Avinash | Sharma | Avinash.Sharma |
Shyam | Besas | Shyam.Besas |
FIND_IN_SET字符串函数
这个字符串函数允许你在一组字符串中查找被搜索字符串的位置。
FIND_IN_SET字符串函数的语法:
SELECT FIND_IN_SET(Concatenate_symbol, String_1, String_2, String_3, ...., String_N);
查找字符串函数FIND_IN_SET的示例:
示例1: 以下SELECT查询从给定字符集中搜索字符’a’:
SELECT FIND_IN_SET('a', 'JavaTpoint, is, a, good, company');
输出:
3
示例2: SELECT查询如下,在给定的一组字符串中搜索“Delhi”字符串:
SELECT FIND_IN_SET('Delhi', 'Mumbai, Goa, Banglore, Delhi, Kolkata, Chennai');
输出:
4
FORMAT String函数
此String函数允许您以指定的格式显示给定的字符串。
FORMAT String函数的语法:
语法1: 此语法使用FORMAT()与表列:
SELECT FORMAT(Column_Name1, Format_String) AS Alias_Name FROM Table_Name;
语法2: 此语法使用带有字符串的FORMAT():
SELECT FORMAT(String_1, Format_String);
示例FORMAT字符串函数:
示例1: 以下SELECT查询显示百分比格式的数字:
SELECT FORMAT('0.958', 'Percent');
输出:
95.80%
示例 2: 以下SELECT查询使用上述Faculty_Info表的Faculty_Salary列的FORMAT()函数:
SELECT Faculty_Salary, FORMAT(Faculty_Salary, 'C') AS Currency_Salary FROM Faculty_Info;
这个SQL语句以货币格式显示每位教师的薪资。
输出:
Faculty_Salary | Currency_Salary |
---|---|
20000 | $20000.00 |
38000 | $38000.00 |
45000 | $45000.00 |
42000 | $42000.00 |
28000 | $28000.00 |
35000 | $35000.00 |
插入字符串函数
该字符串函数允许数据库用户在给定的索引位置将子字符串插入到原始字符串中。
INSERT字符串函数的语法:
语法1: 此语法在SQL列中使用INSERT()函数:
SELECT INSERT(Column_Name, Position, Number, String) AS Alias_Name FROM Table_Name;
语法2: 这个语法使用INSERT()函数来操作字符串:
SELECT INSERT(String_1, Position, Number, String_2);
插入字符串函数的示例:
示例1: 以下SELECT查询在’JavaExcel’字符串的第五个位置插入’Tpoint’字符串:
SELECT INSERT('JavaExcel', 5, 6, 'Tpoint');
输出:
JavaTpointExcel
示例2: 以下SELECT查询使用上述Faculty_Info表的Faculty_City列的INSERT():
SELECT Faculty_City, INSERT(Faculty_City, 3, 4, 'Agra') AS Insert_Agra FROM Faculty_Info;
这个SQL语句将Agra字符串插入到每个faculty的city的第三个位置。
输出:
Faculty_City | Insert_Agra |
---|---|
Delhi | DeAgralhi |
Delhi | DeAgralhi |
Mumbai | MuAgrambai |
Kolkata | KoAgralkata |
Delhi | DeAgralhi |
Lucknow | LuAgracknow |
INSTR字符串函数
该字符串函数返回字符串中给定字符的第一次出现的索引值。
INSTR字符串函数的语法:
语法1: 此语法使用INSTR()与SQL中的列:
SELECT INSTR(Column_Name, character) AS Alias_Name FROM Table_Name;
语法2: 此语法使用INSTR()函数与字符串一起使用:
SELECT INSTR(String, character);
INSTR字符串函数的示例:
示例1: 下面的SELECT查询显示了JavaTpoint字符串中’T’字符的索引值
SELECT INSTR('JavaTpoint', 'T');
输出:
5
示例2: 以下SELECT查询使用了上述Faculty_Info表的Faculty_Address列的INSTR()函数:
SELECT Faculty_Address, INSTR(Faculty_Address, 'a') AS INSTR_Address FROM Faculty_Info;
这个SQL语句将所有faculty的城市转换为小写字母。
输出:
Faculty_Address | LCASE_Address |
---|---|
Aman Vihar | 3 |
Nirman Vihar | 5 |
Sactor 128 | 2 |
Vivek Vihar | 10 |
Sarvodya Calony | 2 |
Krishna Nagar | 7 |
小写字符串函数
此字符串函数允许用户将指定的字符串转换为小写字母。
LCASE 字符串函数的语法:
语法1: 此语法使用 LCASE() 与 SQL 表的列:
SELECT LCASE(Column_Name) AS Alias_Name FROM Table_Name;
语法2: 该语法使用LCASE()函数和字符串一起使用:
SELECT LCASE(String);
LCASE字符串函数的示例:
示例1: 以下SELECT查询将给定字符串中的大写字母转换为小写字母。
SELECT LCASE( 'The CAPITAL of INDIA is NEW DELHI');
输出:
the capital of india is new delhi
示例2: 以下SELECT查询使用LCASE()函数查询上述Faculty_Info表中的Faculty_Address列:
SELECT Faculty_Address, LCASE(Faculty_Address) AS LCASE_Address FROM Faculty_Info;
这个SQL语句将所有学院的城市转换为小写字母。
输出:
Faculty_Address | LCASE_Address |
---|---|
Aman Vihar | aman vihar |
Nirman Vihar | nirman vihar |
Sector 128 | sector 128 |
Vivek Vihar | vivek vihar |
Sarvodya Calony | sarvodya colony |
Krishna Nagar | krishna nagar |
LEFT字符串函数
该字符串函数显示给定字符串的最左字符。它从给定的索引位置读取字符。
LEFT字符串函数的语法:
语法1: 该语法使用SQL表的列名和LEFT()函数:
SELECT LEFT(Column_Name, Index_position) AS Alias_Name FROM Table_Name;
语法2: 使用LEFT()函数与字符串:
SELECT LEFT(String, Index_position);
左String函数的示例:
示例1: 以下SELECT查询显示了给定字符串的前11个最左字符:
SELECT LEFT( 'The CAPITAL of INDIA is NEW DELHI', 11);
输出:
The CAPITAL
示例2: 以下SELECT查询在上面的Faculty_Info表的Faculty_Address列中使用了LEFT()函数:
SELECT Faculty_Address, LEFT(Faculty_Address, 6) AS LEFT_Address FROM Faculty_Info;
这个SQL语句显示了所有教职员工地址的前六个左侧字符
输出:
Faculty_Address | LEFT_Address |
---|---|
Aman Vihar | Aman V |
Nirman Vihar | Nirman |
Sector 128 | Sector |
Vivek Vihar | Vivek |
Sarvodya Calony | Sarvod |
Krishna Nagar | Krishn |
LOCATE字符串函数
此字符串函数显示给定字符串中单词的第一次出现的索引值。
LOCATE字符串函数的语法:
语法1: 此语法将LOCATE()与SQL表的列一起使用:
SELECT LOCATE( Search_string, Column_Name, Search_position) AS Alias_Name FROM Table_Name;
语法2: 使用LOCATE()函数与字符串:
SELECT LOCATE(Search_string, String Search_position);
LOCATE String函数示例:
示例1: 以下SELECT查询显示了给定句子中”INDIA”单词的索引值:
SELECT LOCATE('INDIA','The CAPITAL of INDIA is NEW DELHI ', 1);
输出:
16
示例2: 以下SELECT查询使用以上Faculty_Info表中的Faculty_Address列与LOCATE()函数:
SELECT Faculty_Address, LOCATE(' r ', Faculty_Address, 1) AS LOCATE_r_Address FROM Faculty_Info;
这个SQL语句显示了每个教职员工的地址中’r’的索引值。
输出:
Faculty_Address | LOCATE_r_Address |
---|---|
Aman Vihar | 10 |
Nirman Vihar | 3 |
Sector 128 | 6 |
Vivek Vihar | 11 |
Sarvodya Calony | 3 |
Krishna Nagar | 2 |
小写字母转换函数
此字符串函数允许用户将指定的字符串转换为小写字母。此函数与LCASE()字符串函数相同。
LOWER字符串函数的语法:
Syntax1: 此语法将LOWER()与SQL表的列一起使用:
SELECT LOWER(Column_Name) AS Alias_Name FROM Table_Name;
语法2: 使用LOWER()函数处理字符串的语法:
SELECT LOWER(String);
LOWER字符串函数示例:
示例 1: SELECT查询将给定字符串中的大写字母转换为小写字母。
SELECT LOWER( 'NEW DELHI IS THE CAPITAL OF INDIA');
输出:
new delhi is the capital of india
示例2: 下面的SELECT查询使用LOWER()函数与上述Faculty_Info表的Faculty_Address列一起使用:
SELECT Faculty_Address, LOWER(Faculty_Address) AS LOWER_Address FROM Faculty_Info;
这个SQL语句将所有学院的城市转换为小写字母。
输出:
Faculty_Address | LOWER_Address |
---|---|
Aman Vihar | aman vihar |
Nirman Vihar | nirman vihar |
Sector 128 | sector 128 |
Vivek Vihar | vivek vihar |
Sarvodya Calony | sarvodya colony |
Krishna Nagar | krishna nagar |
LPAD字符串函数
此字符串函数在给定字符串的左侧添加给定的符号。
LPAD字符串函数的语法:
语法1: 此语法使用LPAD()与SQL表的列:
SELECT LPAD(Column_Name, size, symbol) AS Alias_Name FROM Table_Name;
语法2: 这个语法使用LPAD()函数和字符串:
SELECT LPAD(String, size, symbol);
LPAD字符串函数的示例:
示例1: 下面的SELECT查询将#符号在NEW字符串的左侧添加三次:
SELECT LPAD( 'NEW', 6, '#');
输出:
###NEW
示例2: 以下SELECT查询在上面的Faculty_Info表的Faculty_City列中使用了LPAD()函数:
SELECT Faculty_City, LPAD(Faculty_City, 10, '*') AS LPAD_City FROM Faculty_Info;
这个SQL语句在所有学院的城市左侧添加了五次*(星号)符号:
输出:
Faculty_City | LPAD_City |
---|---|
Delhi | *****Delhi |
Delhi | *****Delhi |
Mumbai | ****Mumbai |
Kolkata | ***Kolkata |
Delhi | *****Delhi |
Lucknow | ***Lucknow |
LTRIM字符串函数
此字符串函数从给定的原始字符串左侧截取指定的字符或字符串。它还删除了指定字符串左侧的空格。
LTRIM字符串函数的语法:
语法1: 此语法使用LTRIM()与SQL表的列:
SELECT LTRIM(Column_Name, string) AS Alias_Name FROM Table_Name;
语法2: 此语法使用LTRIM()与字符串:
SELECT LTRIM(Original_String, trimmed_string );
LTRIM字符串函数的示例:
示例1: 以下SELECT查询从指定的字符串中修剪了NEW DELHI单词:
SELECT LTRIM( 'NEW DELHI IS THE CAPITAL OF INDIA', 'NEW DELHI');
输出:
IS THE CAPITAL OF INDIA
示例2: 以下SELECT查询从指定的字符串中去除空格:
SELECT LTRIM( ' JAVATPOINT ');
输出:
'JAVATPOINT '
示例 3: 以下SELECT查询从指定字符串的左侧修剪给定的字符:
SELECT LTRIM( '####98221545', '#');
输出:
98221545
示例 4: 下面的SELECT查询使用LTRIM()函数来处理上面Faculty_Info表中的Faculty_Last_Name列:
SELECT Faculty_Last_Name, LTRIM(Faculty_Last_Name) AS LTRIM_LastName FROM Faculty_Info;
这个SQL语句修剪了所有教师姓氏左侧的空格:
输出:
Faculty_Last_Name | LTRIM_LastName |
---|---|
Sharma | Sharma |
Roy | Roy |
Roy | Roy |
Singhania | Singhania |
Sharma | Sharma |
Besas | Besas |
MID字符串函数
这个字符串函数从原始字符串的给定位置提取子字符串。
MID字符串函数的语法:
语法1: 这个语法使用MID()与SQL表的列:
SELECT MID(Column_Name, Starting_Position, Length) AS Alias_Name FROM Table_Name;
语法2: 此语法使用带有字符串的MID()函数:
SELECT MID(Original_String, Starting_Position, Length);
MID字符串函数示例:
示例1: 以下SELECT查询显示字符串的第5 th 到第10 th 位置的字符。
SELECT MID( 'NEW DELHI IS THE CAPITAL OF INDIA', 5, 10);
输出:
DELHI IS T
示例2: 以下SELECT查询使用了上述Faculty_Info表中的Faculty_Address列与MID()函数:
SELECT Faculty_Address, MID(Faculty_Address, 3, 8 ) AS MID_Address FROM Faculty_Info;
这个SQL语句显示地址中从第3rd位置到第8th位置的字符。
输出:
Faculty_Address | MID_Address |
---|---|
Aman Vihar | an Vihar |
Nirman Vihar | rman Vih |
Sector 128 | ctor 128 |
Vivek Vihar | vek Viha |
Sarvodya Calony | rvodya C |
Krishna Nagar | ishna Na |
POSITION字符串函数
这个字符串函数在主字符串中找到给定字符串的第一个出现位置。
POSITION字符串函数的语法:
语法1: 这个语法使用POSITION()与SQL表的列一起使用:
SELECT POSITION(String IN Column_Name) AS Alias_Name FROM Table_Name;
语法2: 这个语法将POSITION()与字符串一起使用:
SELECT POSITION(String IN Original_String);
POSITION字符串函数示例:
示例1: 以下SELECT查询找到原始字符串中IT公司字符串的位置:
SELECT POSITION( 'IT Company' IN'javatpoint is an indian IT company');
输出:
25
示例2: 以下是SELECT查询,它在原始字符串中查找“H”字符串的位置:
SELECT POSITION( 'H' IN'HINDUSTAN');
输出:
1
示例3: 以下SELECT查询使用POSITION()函数与上面的Faculty_Info表中的Faculty_Address列:
SELECT Faculty_Address, POSITION('a' IN Faculty_Address ) AS POSITION_a_IN Address FROM Faculty_Info;
这个SQL语句查找每个教师的地址中字符’a’的位置:
Output:
Faculty_Address | POSITION_a_IN Address |
---|---|
Aman Vihar | 3 |
Nirman Vihar | 5 |
Sector 128 | 0 |
Vivek Vihar | 10 |
Sarvodya Calony | 2 |
Krishna Nagar | 7 |
重复字符串函数
这个字符串函数会将给定的字符串或字符重复给定的次数。
REPEAT字符串函数的语法:
语法1: 这个语法使用REPEAT()函数和SQL表的列:
SELECT REPEAT(Column_Name, Repetation_Number) AS Alias_Name FROM Table_Name;
Syntax2: 使用REPEAT()与字符串:
SELECT REPEAT( String, Repetation_Number);
REPEAT字符串函数示例:
示例1: 下面的SELECT查询在输出结果中将给定字符串重复三次。
SELECT REPEAT( 'javatpoint is an indian IT company', 3);
输出:
javatpoint is an indian IT companyjavatpoint is an indian IT companyjavatpoint is an indian IT company
示例2: 下面的SELECT查询会将给定的字符在输出中写入五次。
SELECT REPEAT( 'H ' , 5);
输出:
H H H H H
示例3: 下面的SELECT查询在上述Faculty_Info表的Faculty_Address列中使用REPEAT()函数:
SELECT Faculty_Address, REPEAT( Faculty_Address, 2 ) AS REPEAT_Address FROM Faculty_Info;
该SQL语句将每个有问题的地址写入Repeat_Address列中,重复写入两次。
输出:
Faculty_Address | REPEAT_Address |
---|---|
Aman Vihar | Aman ViharAman Vihar |
Nirman Vihar | Nirman ViharNirman Vihar |
Sector 128 | Sector 128Sector 128 |
Vivek Vihar | Vivek ViharVivek Vihar |
Sarvodya Calony | Sarvodya CalonySarvodya Calony |
Krishna Nagar | Krishna NagarKrishna Nagar |
替换字符串函数
此字符串函数通过删除给定的子字符串来剪切给定的字符串。
替换字符串函数的语法:
语法1: 此语法使用SQL表的列和REPLACE()函数:
SELECT REPLACE(Column_Name, sub_string) AS Alias_Name FROM Table_Name;
语法2: 这个语法使用REPLACE()函数和字符串:
SELECT REPLACE( Original_String, sub_string);
REPLACE字符串函数的示例:
示例1: 以下SELECT查询从原始字符串中删除’javatpoint’单词:
SELECT REPLACE( 'javatpoint Indian IT company javatpoint', 'javatpoint');
输出:
Indian IT company
示例2: 以下SELECT查询从字符串中删除给定字符H:
SELECT REPLACE( 'HIJHKHJKL' , 'H');
输出:
IJKJKL
示例3: 下面的SELECT查询使用REPLACE()函数处理上述Faculty_Info表中的Faculty_Address列:
SELECT Faculty_Address, REPLACE( Faculty_Address, 'a' ) AS REPLACE_a_Address FROM Faculty_Info;
这个SQL语句从每个故障中的地址中删除字符a:
输出:
Faculty_Address | REPLACE_a_Address |
---|---|
Aman Vihar | Amn Vihr |
Nirman Vihar | Nirmn Vihr |
Sector 128 | Sector 128 |
Vivek Vihar | Vivek Vihr |
Sarvodya Calony | Srvody Clony |
Krishna Nagar | Krishn Ngr |
反转字符串函数
结构化查询语言的这个字符串函数将字符串的所有字符反转。
REVERSE字符串函数的语法:
语法1: 这个语法使用REVERSE()和SQL表的列:
SELECT REVERSE(Column_Name) AS Alias_Name FROM Table_Name;
语法2: 使用REVERSE()函数的字符串:
SELECT REVERSE(String);
反向字符串函数的示例:
示例1: 下面的SELECT查询会反转JavaTpoint字符串的字符:
SELECT REVERSE( 'javatpoint');
输出:
tnioptavaj
示例 3: 下面的SELECT查询在上述Faculty_Info表的Faculty_Address列上使用REVERSE()函数:
SELECT Faculty_Address, REVERSE( Faculty_Address ) AS REVERSE_Address FROM Faculty_Info;
这个SQL语句反转了每个教职员的地址:
输出:
Faculty_Address | REVERSE_Address |
---|---|
Aman Vihar | rahiv nama |
Nirman Vihar | rahiv namrin |
Sector 128 | 821 rotces |
Vivek Vihar | rahiv keviv |
Sarvodya Calony | ynolac aydovras |
Krishna Nagar | ragan anhsirk |
RIGHT字符串函数
此字符串函数显示给定字符串中的最右边的字符。它从右侧读取字符到给定索引位置。
RIGHT字符串函数的语法:
语法1: 此语法使用SQL表的列并结合RIGHT()函数使用:
SELECT RIGHT(Column_Name, Index_position) AS Alias_Name FROM Table_Name;
语法2: 此语法在字符串中使用RIGHT()函数:
SELECT RIGHT(String, Index_position);
RIGHT String函数的示例:
示例1: 下面的SELECT查询显示给定字符串中最右边的11个字符:
SELECT RIGHT( 'The CAPITAL of INDIA is NEW DELHI', 11);
输出:
s NEW DELHI
示例2: 以下的SELECT查询使用了Faculty_Info表中的Faculty_Address列与RIGHT()函数:
SELECT Faculty_Address, RIGHT(Faculty_Address, 7) AS RIGHT_Address FROM Faculty_Info;
这个SQL语句显示每个教职工地址的最右边的7个字符。
输出:
Faculty_Address | RIGHT_Address |
---|---|
Aman Vihar | n Vihar |
Nirman Vihar | n Vihar |
Sector 128 | tor 128 |
Vivek Vihar | k Vihar |
Sarvodya Calony | Calony |
Krishna Nagar | a Nagar |
字符串函数RPAD
这个字符串函数在给定字符串的右侧添加给定的符号。
RPAD字符串函数的语法:
语法1: 该语法使用带有SQL表列的RPAD()函数:
SELECT RPAD(Column_Name, size, symbol) AS Alias_Name FROM Table_Name;
语法2: 使用RPAD()函数与字符串:
SELECT RPAD(String, size, symbol);
RPAD字符串函数的例子:
例子1: 以下SELECT查询在NEW字符串右边加入了#符号三次:
SELECT RPAD( 'NEW', 6, '#');
输出:
NEW###
示例 2: 以下 SELECT 查询使用 RPAD() 函数与上述 Faculty_Info 表的 Faculty_City 列:
SELECT Faculty_City, RPAD(Faculty_City, 10, '*') AS RPAD_City FROM Faculty_Info;
此SQL语句在每个教员的城市右侧添加了*(星号)符号。
输出:
Faculty_City | RPAD_City |
---|---|
Delhi | Delhi***** |
Delhi | Delhi***** |
Mumbai | Mumbai**** |
Kolkata | Kolkata*** |
Delhi | Delhi***** |
Lucknow | Lucknow*** |
RTRIM字符串函数
这个字符串函数从给定的原始字符串的右侧裁剪给定的字符或字符串。它还从指定字符串的右侧移除空格。
RTRIM字符串函数的语法:
语法1: 这个语法在SQL表的列中使用RTRIM()函数:
SELECT RTRIM(Column_Name) AS Alias_Name FROM Table_Name;
语法2: 此语法使用RTRIM()函数与字符串一起使用:
SELECT RTRIM(Original_String);
RTRIM字符串函数的示例:
示例1: 下面的SELECT查询从指定的字符串中修剪NEW DELHI单词:
SELECT RTRIM( 'NEW DELHI IS THE CAPITAL OF INDIA', 'CAPITAL OF INDIA');
输出:
NEW DELHI IS THE
示例 2: 以下SELECT查询删除指定字符串右侧的空格:
SELECT RTRIM( ' JAVATPOINT ');
输出:
' JAVATPOINT'
示例 3: 下面的SELECT查询会从指定字符串的右侧删除给定的字符:
SELECT RTRIM( '98221545####', '#');
输出:
98221545
示例 4: 下面的SELECT查询在上述Faculty_Info表的Faculty_Address列中使用了RTRIM()函数:
SELECT Faculty_Address, RTRIM(Faculty_Address) AS rtrimaddress FROM Faculty_Info;
此SQL语句将删除每个教师地址右侧的空格:
输出:
Faculty_Address | rtrimaddress |
---|---|
Aman Vihar | Aman Vihar |
Nirman Vihar | Nirman Vihar |
Sector 128 | Sector 128 |
Vivek Vihar | Vivek Vihar |
Sarvodya Calony | Sarvodya Calony |
Krishna Nagar | Krishna Nagar |
SPACE字符串函数
此字符串函数添加指定数量的空格。
SPACE字符串函数的语法:
SELECT SPACE(Number);
空格字符串函数的示例:
以下SELECT查询添加了11个空格:
SELECT SPACE(11);
输出:
___________
STRCMP字符串函数
这个字符串函数将两个指定的字符串进行比较。如果SQL中的两个字符串相似,则此函数返回0;如果第一个字符串小于第二个字符串,则返回-1;如果第一个字符串大于第二个字符串,则返回1。
STRCMP字符串函数的语法:
语法1: 此语法使用SQL表的列与STRCMP()一起使用:
SELECT STRCMP(Column_Name1, Column_Name2) AS Alias_Name FROM Table_Name;
语法2: 此语法使用STRCMP()函数与两个字符串进行比较:
SELECT STRCMP(String1, String2);
STRCMP字符串函数的示例:
示例1: 以下SELECT查询将’INDIA’字符串与’JavaTpoint’字符串进行比较。
SELECT STRCMP( 'INDIA, 'JavaTpoint');
输出:
-1
示例2: 以下SELECT查询将’INDIA’字符串与’Point’字符串进行比较。
SELECT STRCMP( 'INDIA, 'Point');
输出:
0
示例3: 以下SELECT查询使用上述Faculty_Info表的Faculty_first_Name和Faculty_Last_Name列进行STRCMP():
SELECT Faculty_First_Name, Faculty_Last_Name, STRCMP(Faculty_First_Name, Faculty_Last_Name) AS STRCMP_Name FROM Faculty_Info;
这个SQL语句比较每个教师的名字和姓氏。
输出:
Faculty_First_Name | Faculty_Last_Name | STRCMP_Name |
---|---|---|
Arush | Sharma | -1 |
Bulbul | Roy | 1 |
Saurabh | Roy | 1 |
Shivani | Singhania | -1 |
Avinash | Sharma | 1 |
Shyam | Besas | 0 |
SUBSTR字符串函数
此字符串函数从原始字符串的指定位置提取子字符串。
SUBSTR字符串函数的语法:
语法1: 此语法使用SUBSTR()与SQL表的列一起使用:
SELECT SUBSTR(Column_Name, Starting_Position, Length) AS Alias_Name FROM Table_Name;
语法2: 此语法使用带有字符串的SUBSTR():
SELECT SUBSTR(Original_String, Starting_Position, Length);
SUBSTR字符串函数的示例:
示例1: 下面的SELECT查询显示了字符串从第5个至第10个位置的字符。
SELECT SUBSTR( 'NEW DELHI IS THE CAPITAL OF INDIA', 5, 10);
输出:
DELHI IS T
示例2: 以下SELECT查询使用了上面Faculty_Info表的Faculty_Address列的SUBSTR()函数:
SELECT Faculty_Address, SUBSTR(Faculty_Address, 3, 8 ) AS SUBSTR_Address FROM Faculty_Info;
此SQL语句显示地址从第3个位置到第8个位置的子字符串。
输出:
Faculty_Address | SUBSTR_Address |
---|---|
Aman Vihar | an Vihar |
Nirman Vihar | rman Vih |
Sector 128 | ctor 128 |
Vivek Vihar | vek Viha |
Sarvodya Calony | rvodya C |
Krishna Nagar | ishna Na |
SUBSTRING字符串函数
这个字符串函数显示原始字符串中给定索引值的字符。
SUBSTRING字符串函数的语法:
语法1: 这个语法使用SQL表的列来使用SUBSTRING()函数:
SELECT SUBSTRING(Column_Name, Index_Position, Starting_Position) AS Alias_Name FROM Table_Name;
语法2: 使用SUBSTRING()与字符串的语法:
SELECT SUBSTRING(Original_String, Index_Position, Starting_Position);
SUBSTRING字符串函数的示例:
例1: 以下SELECT查询显示了从左侧数起的第五个位置的字符。
SELECT SUBSTRING('NEW DELHI IS THE CAPITAL OF INDIA', 5, 1);
输出:
D
示例2: 下面的SELECT查询在上面的Faculty_Info表的Faculty_Address列中使用SUBSTRING()函数:
SELECT Faculty_Address, SUBSTRING(Faculty_Address, 3, 1 ) AS SUBSTRING_Address FROM Faculty_Info;
这个SQL语句显示每个教职员工地址左侧第三个位置的字符。
输出:
Faculty_Address | SUBSTRING_Address |
---|---|
Aman Vihar | a |
Nirman Vihar | r |
Sector 128 | c |
Vivek Vihar | v |
Sarvodya Calony | r |
Krishna Nagar | i |
SUBSTRING_INDEX字符串函数
此字符串函数显示给定符号之前的子串在原始字符串中。
SUBSTRING_INDEX字符串函数的语法:
此语法使用带有字符串的SUBSTRING_INDEX():
SELECT SUBSTRING_INDEX(Original_String, symbol, Starting_Position);
SUBSTRING_INDEX字符串函数示例:
以下SELECT查询显示@符号之前的子字符串:
SELECT SUBSTRING_INDEX( 'NEW DELHI@IS THE CAPITAL OF INDIA', @, 1);
输出:
NEW DELHI
UCASE字符串函数
此字符串函数允许用户将指定的字符串转换为大写字母或大写字母。
UCASE字符串函数的语法:
语法1: 此语法使用SQL表中的列和UCASE()函数:
SELECT UCASE(Column_Name) AS Alias_Name FROM Table_Name;
语法2: 这个语法使用UCASE()函数对字符串进行操作:
SELECT UCASE(String);
UCASE字符串函数示例:
示例 1: 下面的SELECT查询将给定字符串的小写字母转换为大写字母。
SELECT UCASE( 'The CAPITAL of INDIA is NEW DELHI');
输出:
THE CAPITAL OF INDIA IS NEW DELHI'
示例1: 下面的SELECT查询将给定的小写字母转换为大写字母:
SELECT UCASE( 'e');
输出:
E
示例 2: 下面的SELECT查询在上面的Faculty_Info表的Faculty_Address列中使用UCASE()函数:
SELECT Faculty_Address, UCASE(Faculty_Address) AS UCASE_City FROM Faculty_Info;
这个SQL语句将所有学院的城市转换为大写字母。
输出:
Faculty_Address | UCASE_Address |
---|---|
Aman Vihar | AMAN VIHAR |
Nirman Vihar | NIRMAN VIHAR |
Sector 128 | SECTOR 128 |
Vivek Vihar | VIVEK VIHAR |
Sarvodya Calony | SARVODYA CALONY |
Krishna Nagar | KRISHNA NAGAR |
UPPER字符串函数
这个字符串函数允许用户将指定的字符串转换为大写字母。这个函数和UCASE()字符串函数相同。
UPPER字符串函数的语法:
语法1: 这个语法使用UPPER()和SQL表的列:
SELECT UPPER(Column_Name) AS Alias_Name FROM Table_Name;
Syntax2: 使用UPPER()函数处理字符串的语法:
SELECT UPPER(String);
UPPER函数示例:
示例1: 以下SELECT查询将给定字符串的小写字母转换为大写字母。
SELECT UPPER( 'new delhi is the capital of India');
输出:
NEW DELHI IS THE CAPITAL OF INDIA
实例 2: 下面的SELECT查询使用了Faculty_Info表中的Faculty_Address列的UPPER()函数:
SELECT Faculty_Address, UPPER(Faculty_Address) AS UPPER_Address FROM Faculty_Info;
该SQL语句将所有学院的城市转换为大写字母。
输出:
Faculty_Address | UPPER_Address |
---|---|
Aman Vihar | AMAN VIHAR |
Nirman Vihar | NIRMAN VIHAR |
Sector 128 | SECTOR 128 |
Vivek Vihar | VIVEK VIHAR |
Sarvodya Calony | SARVODYA CALONY |
Krishna Nagar | KRISHNA NAGAR |