这篇文章主要知识点是关于mysql、去掉字段空格、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书
Mysql有什么办法批量去掉某个字段字符中的空格?不仅是字符串前后的空格,还包含字符串中间的空格,答案是 replace,使用mysql自带的 replace 函数,另外还有个 trim 函数。
(1)mysql replace 函数
语法:replace(object,search,replace)
意思:把object中出现search的全部替换为replace
案例:清除news表中content字段中的空格 update `news` set `content`=replace(`content`,' ','');
(2)mysql trim 函数
语法:trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
以下举例说明:
mysql> SELECT TRIM(' phpernote '); -> 'phpernote' mysql> SELECT TRIM(LEADING 'x' FROM 'xxxphpernotexxx'); -> 'phpernotexxx' mysql> SELECT TRIM(BOTH 'x' FROM 'xxxphpernotexxx'); -> 'phpernote' mysql> SELECT TRIM(TRAILING 'xyz' FROM 'phpernotexxyz'); -> 'phpernotex'
MySQL数据库中插入数据的时候,由于疏忽,有一列文字有些行前面多了一个空格,出于强迫症以及避免以后可能出现问题,我决定把这个空格给干掉,在网上搜到的方法大多数是直接使用replace:
UPDATE example SET col = replace(col, ' ', '') WHERE col replace '^ ';
使用这种方法固然可以把行首的空格去掉,但是列中文字间用于分割词语的空格也会被去掉,一大片文字会连起来,故不可行。
后来我想使用replace的时候能不能使用正则来匹配呢,几番搜索的结果是不可行。
最后我想了一个我认为较为简单可行的方法:
首先使用CONCAT()在有空格的行前面加一个字符‘x':
UPDATE example SET col = CONCAT('x', col) WHERE col REGEXP '^ ';
这样下来行前面多了两个字符 ‘x ‘。
然后使用REPLACE来把多的两个字符一起去掉:
UPDATE example SET col = REPLACE(col, 'x ', '') WHERE col REGEXP '^x ';
总结
以上就是本文关于MySQL批量去掉某个字段中的空格的全部内容,希望对大家有所帮助,感兴趣的朋友可以参阅:MySQL 声明变量及存储过程分析、几个比较重要的MySQL变量、mysql数据库开发规范【推荐】等。有什么问题可以随时留言,大家一起交流讨论。
以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。
Copyright 2018-2020 www.xz577.com 码农之家
版权投诉 / 书籍推广 / 赞助:520161757@qq.com
MySql批量插入优化Sql执行效率实例详解
MySql批量插入优化Sql执行效率实例详解 itemcontractprice数量1万左右,每条itemcontractprice 插入5条日志。 updateInsertSql.AppendFormat("UPDATE itemcontractprice AS p INNER JOIN foreigncurrency AS f ON p.ForeignCurrencyId = f.ContractPriceId SET p.RemainPrice = f.RemainPrice * {0},p.BuyOutPrice = f.BuyOutPrice * {0},p.ReservedPrice = f.ReservedPrice * {0},p.CollectedPrice = f.CollectedPrice * {0},p.AccessPrice = f.AccessPrice * {0} WHERE p.CurrencyId = {1} AND p.date BETWEEN '{2:yyyy-MM-dd}' AND '{3:yyyy-MM-dd}';", rate.ExchangeRate, exchangeRate.CurrencyId, rate.BeginDate, rate.EndDate); updateInsertSql.AppendFormat("INSERT INTO `itemcontractpricelog`(`ContractPriceType`,`ContractPrice`,`FcContractPrice`,`IsExpire`,`LogRemark`,`CreatedByName`,`CreatedById`,`CreatedDate`,`LogTypeId`,`ProviderId`,`StageId`,`Date`,`CurrencyId`,`ContractPriceId`,`StockPattern`,`ItemId`) SELECT 0,c.RemainPrice,f.RemainPrice,c.RemainIsExpire,'外币汇率调整,重新计算人民币底……
MySQL四种事务隔离级别详解
本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB 一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。 3、隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。 4、持久性(Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。 小……
详解MySQL用事件调度器Event Scheduler创建定时任务
前言 事件调度器相当于操作系统中的定时任务(如:Linux中的cron、Window中的计划任务),但MySql的事件调度器可以精确到秒,对于一些实时性要求较高的数据处理非常有用。 1. 创建/修改事件(EVENT) 在MySql中,创建一个新的调度器使用CREATE EVENT,其语法规则如下: CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE | DISABLE ON SLAVE] [COMMENT 'comment'] DO event_body; 在以上语句中,包含以下参数: 1、 event_name - 事件名,可以是任何合的MySql标识符,不能超64个字符。 创建事件时,可以同时指定 Schema ,语法结构为: schema_name.event_name 2、 schedule - 调度规则,规定事件的执行时间与执行规则。是一个可包含以下值的子语句: schedule: AT timestamp [+ INTERVAL interval] ... | EVERY interval [STARTS timestamp [+ INTERVAL interval] ...] [EN……