📅  最后修改于: 2023-12-03 15:25:03.438000             🧑  作者: Mango
SQL 中的字符串是用单引号(')或双引号(")括起来的字符序列。字符序列可以是任何长度,可以包含任何字符,包括字母、数字和特殊字符,例如:
SELECT 'Hello, world!' AS greeting;
输出结果如下:
| greeting | |---------------| | Hello, world! |
在 SQL 中,字符串值通常用于以下几种情况:
使用字符串值作为条件表达式时,需要将包含字符串的值用单引号或双引号括起来。例如:
SELECT * FROM customers WHERE name = 'John Doe';
使用字符串值作为查询语句的返回值时,可以使用字符串连接符号 ||
连接多个字符串。例如:
SELECT first_name || ' ' || last_name AS full_name FROM employees;
使用字符串值作为数据库表中的字段值时,在创建表时需要指定字段的数据类型为字符类型。例如:
CREATE TABLE customers (
customer_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
phone VARCHAR(20)
);
在插入数据时需要将字符串值插入到字符类型的字段中。例如:
INSERT INTO customers (customer_id, first_name, last_name, email, phone)
VALUES (1, 'John', 'Doe', 'johndoe@email.com', '123456789');
当需要在字符串值中包含单引号或双引号时,需要使用转义字符对它们进行转义。在 SQL 中,使用反斜杠(\)作为转义字符。例如:
SELECT 'It\'s a beautiful day!' AS message;
SELECT "He said, \"I love SQL\"." AS message;
输出结果如下:
| message | |---------------------------| | It's a beautiful day! | | He said, "I love SQL". |
除了单引号和双引号,SQL 还支持其他转义字符,例如:
| 转义字符 | 描述 | |----------|------------------------------| | \n | 换行符 | | \r | 回车符 | | \t | 制表符 | | \ | 反斜杠 | | \xxx | 八进制值为 xxx 的 ASCII 字符 | | \xhh | 16 进制值为 hh 的 ASCII 字符 |
SQL 提供了一系列字符串函数,用于处理和操作字符串值。下面列举几个常用的字符串函数:
CONCAT()
- 连接多个字符串值成一个字符串SUBSTR()
- 返回字符串的子串LOWER()
- 将字符串转换为小写字母UPPER()
- 将字符串转换为大写字母TRIM()
- 移除字符串的前导空格或尾随空格LENGTH()
- 返回字符串的长度例如:
SELECT CONCAT(first_name, ' ', last_name) AS full_name,
SUBSTR(email, 1, 10) AS email_prefix,
LOWER(phone) AS phone,
UPPER(TRIM(' Hello, world ')) AS message,
LENGTH('Hello, world!') AS message_length
FROM employees;
输出结果如下:
| full_name | email_prefix | phone | message | message_length | |------------------|--------------|--------------|-------------------|----------------| | John Doe | johndoe@em | 123456789 | HELLO, WORLD | 13 | | Jane Smith | janesmith@ | 987654321 | HELLO, WORLD | 13 | | Bob Johnson | bobjohnson@ | 5555555555 | HELLO, WORLD | 13 |