玖叶教程网

前端编程开发入门

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

例如,如果数据中,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 都是一个非常实用的功能,用来清理字符串中的不需要的字符。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言