MySQL将所需数据从一个表插入另外一个表

Tag: mysql

将所需数据从一个表插入另外一个表。

INSERT INTO `Newarticle` (`id`, `title`, `tid`, `keywords`, `description`, `body`, `updatetime`)

SELECT t1.id,t1.title,'10',REPLACE(t1.keywords,' ',','),t1.description,t2.body,t1.inputtime FROM LIUXUEPAPER-Com.Article t1 JOIN LIUXUEPAPER-Com.article_bodydate t2 ON t1.id=t2.id WHERE HTMLURL LIKE '%cartoon/%';

将下面artice表里的链接包含cartoon的数据,插入Newarticle中。并将原表keywords中的空格字符转换成“,”,再插入新表。

如果keywords字段最后一个字符包含“,”逗号,需要先将keywords字段最后的“逗号”过滤掉。

用如下方法过滤:

update old_article SET keywords= TRIM(TRAILING ',' FROM keywords)  WHERE HTMLURL LIKE '%cartoon/%';

解释:在MySQL中,可以使用TRIM()函数去除字符串末尾的特定字符。但是,TRIM()函数只能去除开头和结尾的字符,不能直接只去除末尾的字符。不过,可以通过组合TRIM()和字符串函数来实现这一需求。以下是一个示例,假设您想要去除my_column列每个记录的最后一个逗号(,)。

MySQL还提供了许多内置函数,用于处理字符串、日期、数值等类型的数据。其中,与字符串相关的函数非常丰富,包括但不限于以下几个:

CONCAT():用于连接两个或多个字符串。

SUBSTRING():用于截取字符串的一部分。

REPLACE():用于替换字符串中的指定字符。

TRIM():用于去除字符串前后的空格。

LENGTH():用于计算字符串的长度。

CHAR_LENGTH():用于计算字符串的字符数量。

LEFT():用于提取字符串左边的指定字符数。

RIGHT():用于提取字符串右边的指定字符数。

删除字符串的最后一个特定字符:

要删除字符串的最后一个特定字符,必须使用MySQL内置函数RIGHT()和SUBSTRING()的组合。具体步骤如下:

使用RIGHT()函数从字符串末尾提取一个字符。

使用SUBSTRING()函数从原始字符串中删除最后一个字符。

合并两个字符串以得到最终结果。

示例

假设有一个字符串“My Name is Liuxuepaper.Com, How are you !”,需要删除最后一个逗号或者叹号(!),下面的示例将演示如何实现。

首先,使用RIGHT()函数从字符串末尾提取一个字符:

SELECT RIGHT('My Name is Liuxuepaper.Com, How are you !', 1);

输出结果为:

!

接下来,使用SUBSTRING()函数删除最后一个字符,并将结果保存到一个变量中:

SET @str = SUBSTRING('My Name is Liuxuepaper.Com, How are you !', 1, LENGTH('My Name is Liuxuepaper.Com, How are you !') - 1);

这里使用LENGTH()函数计算字符串的长度,并减去1,以获得去除最后一个字符后的子串。该子串将被保存在名为@str的变量中。

最后,合并两个字符串以得到最终结果:

SELECT CONCAT(@str, '');

注意:必须使用CONCAT()函数将@str转换为字符串。否则,@str将被视为数字,并且逗号将被删除。

完整的SQL查询如下:

SET @str = SUBSTRING('Hello, world!', 1, LENGTH('Hello, world!') - 1);

SELECT CONCAT(@str, '');

输出结果为:

Hello, world

以上就是几种使用MySQL内置函数删除字符串的最后一个特定字符的方法和示例。

上一篇:MYSQL数据库的表ID错乱,或者自增ID出问题

下一篇:没有了