📌  相关文章
📜  从字段中删除最后 N 个字符的SQL 查询(1)

📅  最后修改于: 2023-12-03 15:21:56.881000             🧑  作者: Mango

从字段中删除最后 N 个字符的SQL 查询

在实际开发中,我们可能会遇到需要从字段中删除最后 N 个字符的情况。例如,某些数据库中存储的电话号码包含 "-" 符号,我们需要将其删除后再使用。

下面是针对不同数据库的 SQL 查询语句:

MySQL

UPDATE `table_name`
SET `column_name` = SUBSTR(`column_name`, 1, CHAR_LENGTH(`column_name`) - N)

其中,table_name 为表名,column_name 为列名,N 为要删除的字符数。

示例代码:

UPDATE `user`
SET `phone_number` = SUBSTR(`phone_number`, 1, CHAR_LENGTH(`phone_number`) - 3)
WHERE `id` = 1

上述示例代码将 user 表中 id 为 1 的用户的 phone_number 列后三个字符删除。

PostgreSQL

UPDATE table_name
SET column_name = LEFT(column_name, LENGTH(column_name) - N)

示例代码:

UPDATE user
SET phone_number = LEFT(phone_number, LENGTH(phone_number) - 3)
WHERE id = 1

上述示例代码将 user 表中 id 为 1 的用户的 phone_number 列后三个字符删除。

Oracle

UPDATE table_name
SET column_name = SUBSTR(column_name, 1, LENGTH(column_name) - N)

示例代码:

UPDATE user
SET phone_number = SUBSTR(phone_number, 1, LENGTH(phone_number) - 3)
WHERE id = 1

上述示例代码将 user 表中 id 为 1 的用户的 phone_number 列后三个字符删除。

SQL Server

UPDATE table_name
SET column_name = LEFT(column_name, LEN(column_name) - N)

示例代码:

UPDATE user
SET phone_number = LEFT(phone_number, LEN(phone_number) - 3)
WHERE id = 1

上述示例代码将 user 表中 id 为 1 的用户的 phone_number 列后三个字符删除。

在实际应用中,请注意将 table_namecolumn_nameN 替换为实际的表名、列名和需要删除的字符数。