VIP用户交流群:462197261热门标签收藏本站北冥有鱼 互联网前沿资源第一站 助力全行业互联网+
在线客服:78895949
  • 当前位置:
  • 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数据库开发规范【推荐】等。有什么问题可以随时留言,大家一起交流讨论。


    广而告之:
    热门推荐:
    Node.JS段点续传:Nginx配置文件分段下载功能的实现方法

    Html5 提供了一个新的 Range 标签来实现文件的分段下载。在Node.JS中可以配置这个标签来实现文件的分段下载。 Header标签 请求 Request Header: 下载 3744 以后的文件内容 range: bytes=3744- 返回 Response Header: 文件总长 15522643 个字节 accept-ranges': 'bytes' conte···

    微信小程序中换行空格(多个空格)写法详解

    在小程序中HTML的网页实体无法正常使用,小程序中的写法为:  一、空格,换行 <text>你好!\t七月流火啊!\n我在下一行</text> \t 空格( 多个只会显示一个空格) \n 换行 二、连续空格 <view> <text space="ensp">你好 啊 哈哈哈(空格是···

    .NET实现WebSocket服务端即时通信实例

    即时通信常用手段 1.第三方平台 谷歌、腾讯 环信等多如牛毛,其中谷歌即时通信是免费的,但免费就是免费的并不好用。其他的一些第三方一般收费的,使用要则限流(1s/限制x条消息)要么则限制用户数。 但稳定性什么都还不错,又能将服务压力甩出 2.System.Net.Sockets.Socket,···

    CI框架给视图添加动态数据

    数据通过控制器以一个数组或是对象的形式传入视图 , 这个数组或对象作为视图载入函数的第二个参数如果你使用一个对象,那么类变量将转换为数组元素。好了,让我们用你的控制器试试。打开控制器并添加以下代码 <?php class Blog extends CI_Controller {    ···

    centos+php+coreseek+sphinx+mysql之一coreseek安装篇

    首先附上coreseek4.1版本下载 前期准备工作: yum install make gcc g++ automake libtool MySQL-client libMySQLclient15-dev libxml2-dev libexpat1-dev autoconf automake libtool 假设我们将文件包下载在 /usr/local/src下 cd /usr/local/src tar zxvf coreseek-4.1-b···

    php好代码风格的阶段性总结

    本文总结了php好代码的风格,分享给大家供大家参考,具体如下: 1、避免使用魔数 if($age<18){ } 这个18不太明白为什么要这样子。 可以将28定义在一个变量里面,这个变量命名表明了这个值的含义 $adult_age = 18;//成年的分界点年龄 if($age<$adult_age){ } 2、函···

    wampserver下mysql导入数据库的步骤

    你的xxx.db里面如果都是sql语句的话,那么跟着我说的做,假如你的库名叫mydb 1.进入mysql命令行 因为你是wampserver,那么就cmd进入dos mysql -u root -p 之后提示输入密码成功进入 2.建库(如果库已经存在,略过这一步) create database mydb; 3.选库 use mydb; 4.导入数据(这···

    vue+element实现打印页面功能

     项目中遇到了要打印页面的功能,我感觉我这个方法不太好,欢迎各位来改善指导   使用print插件  https://github.com/xyl66/vuePlugs_printjs 1.在min.js中引入 2.import Print from '@/plugs/print' 3.Vue.use(Print) // 注册 <template> <section re···

    Laravel admin实现消息提醒、播放音频功能

    应用情景,有新的订单生成,后台进行消息提醒并播放音频(这里用到轮询简单实现):下面附代码 1.找到laravel-admin 中的 index.blade.php 文件进行编辑 {{-- 音频通知 --}} <audio style="display:none; height: 0" id="bg-music" preload="auto" src="http://fjdx.sc.chi···

    mysql 导入导出数据库以及函数、存储过程的介绍

    mysql常用导出数据命令:1.mysql导出整个数据库  mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql    mysqldump -hlocalhost -uroot hqgr> hqgr.sql     (如果root用户没用密码可以不写-p,当然导出的···