SQL LTRIM 函数

摘要:在本教程中,您将学习如何使用 SQL LTRIM 函数返回一个从字符串开头移除了指定字符的新字符串。

SQL LTRIM 函数简介 #

LTRIM 函数接收一个字符串,并返回一个从输入字符串开头移除了指定字符的新字符串。

下面是 LTRIM 函数的语法:

LTRIM(string, [trim_characters])Code language: SQL (Structured Query Language) (sql)

LTRIM 函数接受两个参数:

  • string:您想要从中移除前导字符的输入字符串。
  • trim_characters:(可选)您想要修剪的字符组成的字符串。如果省略 trim_characters,该函数将默认移除空格。

LTRIM 函数返回一个从输入字符串中移除了所有 trim_characters 的新字符串。它不会修改原始字符串。

在实践中,您会发现 LTRIM 函数在清理用于查询或字符串转换的字符串数据时非常有用。

我们将使用 HR 示例数据库中的 employees 表来演示 LTRIM 函数:

SQL LTRIM Function - employees table

移除前导空格 #

首先,向 employees添加一个新行,其名字和姓氏都带有一个前导空格:

INSERT INTO
  employees (
    employee_id,
    first_name,
    last_name,
    email,
    phone_number,
    hire_date,
    job_id,
    salary,
    manager_id,
    department_id
  )
VALUES
  (
    306,
    ' John',
    ' Doe',
    '[email protected]',
    '#515.123.8191',
    '1994-06-07',
    1,
    8500.00,
    205,
    11
  );Code language: SQL (Structured Query Language) (sql)

试一试

其次,选择 first_name 以空格开头的员工:

SELECT
  first_name,
  LTRIM(first_name) AS trimmed_name
FROM
  employees
WHERE
  first_name LIKE ' %';Code language: SQL (Structured Query Language) (sql)

试一试

输出

 first_name | trimmed_name
------------+--------------
  John      | JohnCode language: SQL (Structured Query Language) (sql)

在这个查询中:

  • WHERE 子句使用 LIKE 运算符来匹配以空格开头的 first_name
  • LTRIM 函数移除了 first_name 列的前导空格。

第三,从 first_name 列中移除前导空格:

UPDATE employees
SET
  first_name = LTRIM(first_name)
WHERE
  first_name LIKE ' %';Code language: SQL (Structured Query Language) (sql)

试一试

移除特定字符 #

以下查询返回员工 ID 为 306 的名字和电话号码,其中电话号码 phone_number 的前导字符 # 已被移除:

SELECT
  first_name,
  phone_number,
  LTRIM(phone_number, '#') AS plain_phone_number
FROM
  employees
WHERE
  employee_id = 306;Code language: SQL (Structured Query Language) (sql)

试一试

输出

 first_name | phone_number  | plain_phone_number
------------+---------------+--------------------
 John       | #515.123.8191 | 515.123.8191Code language: SQL (Structured Query Language) (sql)

在此示例中,我们使用 LTRIM 函数从电话号码的开头修剪字符 #。

您可以在 UPDATE 语句中使用 LTRIM 函数从电话号码中移除字符 #

UPDATE employees
SET
  phone_number = LTRIM(phone_number, '#')
WHERE
  employee_id = 306;Code language: SQL (Structured Query Language) (sql)

试一试

在条件逻辑中使用 LTRIM 函数 #

以下查询使用 LTRIM 来标记那些姓氏包含前导空格的员工:

SELECT
  employee_id,
  last_name,
  CASE
    WHEN last_name != LTRIM(last_name) THEN 'Has leading spaces'
    ELSE 'No leading spaces'
  END AS status
FROM
  employees
ORDER BY
  last_name;Code language: SQL (Structured Query Language) (sql)

试一试

摘要 #

  • 使用 LTRIM 函数返回一个从输入字符串中移除了指定字符的新字符串。
  • 如果您省略 trim_characters,LTRIM 函数将默认移除前导空格。

数据库 #

本教程是否有帮助?
© .