SQL 字符串函数如何转换大小写?

SQL中转换字符串大小写主要依靠UPPER()和LOWER()函数。UPPER()将字符串转为大写,如SELECT UPPER('hello world')返回'HELLO WORLD';LOWER()将字符串转为小写,如SELECT LOWER('Hello World')返回'hello world'。常用于数据清洗、模糊匹配和不区分大小写的比较,例如SELECT * FROM users WHERE LOWER(username) = LOWER('Alice')可查找所有大小写形式的"Alice"。在MySQL、PostgreSQL、SQL Server中均支持,语法一致。

SQL 中转换字符串大小写主要依靠两个函数:UPPER()LOWER()。它们用于将文本统一为大写或小写,常用于数据清洗、模糊匹配和比较操作。

UPPER() 函数:转为大写

该函数将字符串中的所有字母转换为大写形式。

例如:
  • SELECT UPPER('hello world'); 返回 'HELLO WORLD'
  • SELECT UPPER(name) FROM users; 将 users 表中 name 字段的所有值转为大写

LOWER() 函数:转为小写

该函数将字符串中的所有字母转换为小写形式。

如:
  • SELECT LOWER('Hello World'); 返回 'hello world'
  • SELECT LOWER(email) FROM users; 将 email 字段内容全部转为小写,便于统一比对

实际应用场景

在查询时忽略大小写是一种常见需求,比如查找用户名为 "Alice" 的记录,不论其存储为 "alice"、"ALICE" 还是 "Alice"。

  • SELECT * FROM users WHERE LOWER(username) = LOWER('Alice'); 可实现不区分大小写的匹配
  • 在创建索引时若频繁使用 LOWER(),建议建立函数索引以提升性能

基本上就这些。不同数据库系统如 MySQL、PostgreSQL、SQL Server 都支持 UPPER 和 LOWER 函数,语法一致,可放心使用。