很多时候,数据表中某个字段的值会带有一个或多个空格字符串的情况,面对多样化的需求,我们可能需要将这些空格字符串去除,当然,这很好说,我们可以直接用replace(' ','')将单个空格变成无就可以了,但是我们的需要往往不会这么简单,我需要保留一个空格字符串,而我的空格字符串是不固定的。那这种情况下我们该怎么办呢?

  正因为我也遇到了这样的问题,所以才到网上寻求解决方案,当然,下面的解决方案不是原创,我把我的理解加在其中,第一方便以后查看,第二也给遇到相同问题不知道如何解决的人更好的阐述。

sql代码如下:

  SELECT REPLACE(
  REPLACE(
  REPLACE(
  LTRIM(RTRIM(name)),
  '  ',' '+'#'),                    --把两个空格替换成一个空格加上特殊符号#(' #')

  '#'+' ',''),                      --把特殊符号和一个空格('# ')替换成无''

  '#','') AS NewString         --如果空格总数是偶数,则最后会多一个特殊符号#,此时把#替换成无
  
FROM Moives
  WHERE CHARINDEX(' ',name)> 0 and id=2

上述代码中,用到了三个replace,  通常,replace有三个参数,第一个是要操作的目标字符串,第二个是被替换的字符,第三是想要替换成的字符。在这里我们想把Moives表中id为2的记录的name字段中的空格字符串去掉并且保留一个,首先我们对它去掉首尾空格,然后把每一个操作后得到的结果当作外层操作的第一个参数。如果我们的字段中中间存在一个或多个空字符串,那么最后得到的结果始终会保留一个空格字符.

sql语句如何将多个空格字符替换成一个空格字符的更多相关文章

  1. C# 中将多个空格替换成一个空格

    2013-04-17 15:36 C# 中如何将多个空格替换成一个空格? 1 myString = Regex.Replace(myString, @"\s+", " & ...

  2. c# 字符串去掉两端空格,并且将字符串中多个空格替换成一个空格

    字符串去掉两端空格,并且将字符串中多个空格替换成一个空格: 主要还是考察使用字符串的方法: trim(); 去掉字符串两端空格 split(); 切割 string.join(); 连接 class ...

  3. php 空格无法替换,utf-8空格惹的祸

    一次坑爹的小bug.读取一段文字(编码utf-8),想替换掉空格,str_replace(" "..).preg_replace("/\s/"..)都不起作用. ...

  4. sql语句格式化数字(前面补0)、替换字符串

    以下是详细分析: 1.select power(10,3)得到1000(即:10的3次方) 2.select cast(1000+33 as varchar) 将1000转换类型(即:将int转化成v ...

  5. 同构体字符串(如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。)

    示例 1: 输入: s = "egg", t = "add" 输出: true 示例 2: 输入: s = "foo", t = " ...

  6. 将字符串 “ hello word,你 好 世 界 ! ” 两端空格去掉并且将其中的其他所有空格替换成一个空格 输出结果为“hello word,你 好 世界”

    string str = " hello word,你 好 世 界 ! "; string msg = str.Trim(); //去掉首尾空格 //使用split分割字符串,st ...

  7. js用正则表达式将英文引号字符替换为中文引号字符

    <script> $(function(){ var str='"我是英文版的引号",我要变成"中文版的引号"'; alert(replaceDqm ...

  8. mysql统计类似SQL语句查询次数

    mysql统计类似SQL语句查询次数 vc-mysql-sniffer 工具抓取的sql分析. 1.先用shell脚本把所有enter符号替换为null,再根据语句前后的字符分隔语句 grep -Ev ...

  9. 第二百八十七节,MySQL数据库-条件语句、循环语句、动态执行SQL语句

    MySQL数据库-条件语句.循环语句.动态执行SQL语句 1.if条件语句 delimiter \\ CREATE PROCEDURE proc_if () BEGIN ; THEN ; ELSEIF ...

随机推荐

  1. 从完整备份恢复单个innodb表

    现在大多数同学在线上采取的备份策略都是xtrabackup全备+binlog备份,那么当某天某张表意外的删除那么如何从xtrabackup全备中恢复呢?从mysql 5.6版本开始,支持可移动表空间( ...

  2. jqgrid表头上面再加一行---二级表头

    实现效果如图,代码如下: $( "#table_list_1" ).jqGrid( 'setGroupHeaders' , { useColSpanStyle : true , / ...

  3. WEB安全:Tomcat 只可通过域名访问,禁止通过 IP 访问

    服务器为什么要禁止通过IP直接访问? 1.若公布于外网的服务器IP地址未备案,就有可能被工信部查封.这样备案的域名也会无法访问. 2.如果AppScan通过ip访问扫描,会有“发现内部ip泄露模式”的 ...

  4. PHP语言的优缺点

    PHP是一种跨平台的服务器端的嵌入式脚本语言. 优点: 实用性强 它大量地借用C.Java 平台广 支持数据种类多 有成熟框架 ,面向对象体系 PHP是完全免费 开源 缺点: 语法不严谨, 弱类型语言 ...

  5. Python JSON 基本使用

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成, ...

  6. IdentityServer4 中文文档 -6- (简介)示例服务器和测试

    IdentityServer4 中文文档 -6- (简介)示例服务器和测试 原文:http://docs.identityserver.io/en/release/intro/test.html 目 ...

  7. git入门(廖雪峰老师)

    根据廖雪峰老师的git教程进行学习总结: 1.之前上班用的都是svn进行管理,那么svn和git有什么区别呢? svn是集中式的版本控制系统,而git是分布式版本控制系统,那么集中式和分布式版本控制系 ...

  8. AngularJS+Ionic开发-2.项目结构介绍

    使用上篇博客<开发环境搭建>中的命令创建完成IonicHelloWorld项目,在VSCode中的左侧,显示该项目的结构信息,如下图所示: 1 .sourcesmaps文件夹 调试状态的j ...

  9. 探秘小程序(10):分享功能+webview

    场景: 小程序页面用webview嵌入了h5页面,h5页面需要与小程序进行交互,h5页面内容不同,分享的链接也不一样 分享功能: 小程序的分享功能即用户点击小程序右上角,转发功能页面.可以指定分享卡片 ...

  10. 使用 New Relic 监控接口服务性能 (APM)

    偶然看到贴子在使用[Rails API] 使用这个APM监控,今天试了下.NET IIS环境下,配置一路NEXT即可. 主要指标 服务响应时间 Segment SQL执行时间 安全问题 1.走HTTP ...