跳到主要内容

UCASE/UPPER

描述

UCASE 函数(别名 UPPER)用于将字符串中的所有小写字母转换为大写字母。该函数支持 Unicode 字符转换,能够正确处理各种语言的大小写转换规则。

语法

UCASE(<str>)
UPPER(<str>)

参数

参数说明
<str>需要转换为大写的字符串。类型:VARCHAR

返回值

返回 VARCHAR 类型,表示转换为大写字母后的字符串。

转换规则:

  • 将字符串中所有小写字母转换为对应的大写字母
  • 非字母字符(数字、符号、空格等)保持不变
  • 已经是大写的字母保持不变

特殊情况:

  • 如果参数为 NULL,返回 NULL
  • 如果字符串为空,返回空字符串
  • 如果字符串中没有小写字母,返回原字符串

示例

  1. 基本英文字母转换
SELECT UCASE('aBc123'), UPPER('aBc123');
+-----------------+-----------------+
| UCASE('aBc123') | UPPER('aBc123') |
+-----------------+-----------------+
| ABC123 | ABC123 |
+-----------------+-----------------+
  1. 混合字符处理
SELECT UCASE('Hello World!'), UPPER('test@123');
+----------------------+------------------+
| UCASE('Hello World!') | UPPER('test@123') |
+----------------------+------------------+
| HELLO WORLD! | TEST@123 |
+----------------------+------------------+
  1. NULL 值处理
SELECT UCASE(NULL), UPPER(NULL);
+-------------+-------------+
| UCASE(NULL) | UPPER(NULL) |
+-------------+-------------+
| NULL | NULL |
+-------------+-------------+
  1. 空字符串处理
SELECT UCASE(''), UPPER('');
+-----------+-----------+
| UCASE('') | UPPER('') |
+-----------+-----------+
| | |
+-----------+-----------+
  1. 已经是大写的字符串
SELECT UCASE('ALREADY UPPERCASE'), UPPER('ABC123');
+---------------------------+----------------+
| UCASE('ALREADY UPPERCASE') | UPPER('ABC123') |
+---------------------------+----------------+
| ALREADY UPPERCASE | ABC123 |
+---------------------------+----------------+
  1. 数字和符号
SELECT UCASE('123!@#$%'), UPPER('price: $99.99');
+-------------------+----------------------+
| UCASE('123!@#$%') | UPPER('price: $99.99') |
+-------------------+----------------------+
| 123!@#$% | PRICE: $99.99 |
+-------------------+----------------------+
  1. UTF-8 多字节字符
SELECT UCASE('ṭṛì test'), UPPER('ḍḍumai hello');
+--------------------+-----------------------+
| UCASE('ṭṛì test') | UPPER('ḍḍumai hello') |
+--------------------+-----------------------+
| ṬṚÌ TEST | ḌḌUMAI HELLO |
+--------------------+-----------------------+
  1. 西里尔字母
SELECT UCASE('Кириллица'), UPPER('Бәйтерек');
+---------------------+-------------------+
| UCASE('Кириллица') | UPPER('Бәйтерек') |
+---------------------+-------------------+
| КИРИЛЛИЦА | БӘЙТЕРЕК |
+---------------------+-------------------+