龙空技术网

如何把数据库表中某个字段的所有2.0,3.0带.0的数据批量修改为2,3

北漂程序员之路 115

前言:

现在朋友们对“sql去除指定字符”大约比较关切,各位老铁们都想要分析一些“sql去除指定字符”的相关文章。那么小编也在网摘上汇集了一些关于“sql去除指定字符””的相关内容,希望同学们能喜欢,看官们快快来学习一下吧!

例如,如果数据中,age是年龄,你发现数据是2.0,3,0,32.0 ,你不可能每一条数据进行,修改,如何批量修改呢?

解决方案:

UPDATE t_test

SET age = TRIM(TRAILING '.0' FROM age)

WHERE age LIKE '%.0';

TRAILING 是 SQL 中 TRIM 函数的一个可选参数,用于指定要从字符串的末尾(右边)去除哪些字符。在 MySQL 中,TRIM 函数的基本语法是:

TRIM([LEADING | TRAILING | BOTH] [charlist] FROM str)
LEADING 表示从字符串开头(左边)去除字符。TRAILING 表示从字符串结尾(右边)去除字符。BOTH 表示同时从字符串的开头和结尾去除字符。

当你想要删除某个特定字符或字符列表只出现在字符串末尾时,可以使用 TRAILING 关键字。例如

SELECT TRIM(TRAILING '.0' FROM '12.0');

这条语句会返回 '12',因为它去除了字符串 '12.0' 末尾的 .0。

TRIM 函数在 SQL 中用于移除指定字符或空白字符(默认)从字符串的开头、结尾,或者同时从两端。它在不同的数据库系统中有类似但可能不完全相同的语法和功能。以下是 TRIM 函数的基本用法

MySQL:

TRIM([LEADING | TRAILING | BOTH] [characters_to_remove] FROM string)
如果省略 LEADING, TRAILING, 或 BOTH,则默认为去除两边的空格。characters_to_remove 是你想从字符串中去掉的一系列字符,默认为空格。

例如:

移除字符串末尾的 .0:SqlTRIM(TRAILING '.0' FROM '12.0') -- 结果为 '12'移除字符串首尾的空格:SqlTRIM(' Hello World! ') -- 结果为 'Hello World!'

Oracle 和 PostgreSQL: 同样支持类似的语法,可以指定要删除的特定字符。

SQL Server: 在 SQL Server 中,有 LTRIM (左trim) 和 RTRIM (右trim) 分别处理两端的空格,并且自 SQL Server 2017 起也提供了与 MySQL 类似的 TRIM 函数。

TRIM([ characters_to_trim ] FROM string)

示例:

使用 SQL Server 的 TRIM 函数移除字符串两端的空格:TRIM(' Hello World! ') -- 结果为 'Hello World!'

如果需要移除非空格字符,则必须明确指定该字符列表。

总的来说,无论在哪种数据库系统中,TRIM 都是一个非常实用的功能,用来清理字符串中的不需要的字符。

标签: #sql去除指定字符 #oracle增加字段返回2