首页 > 数据库 >sql 怎么去掉最后一个字符

sql 怎么去掉最后一个字符

时间:2023-06-30 16:11:05浏览次数:29  
标签:字符 Name -- len content sql 字符串 去掉 空格

https://it.cha138.com/tech/show-3207236.html

第一种:

对于字符串结尾不是空格的情况用Len是可以的(如上):

substring(字符串,1,len(字符串)-1) 从第一位开始,截取到第n-1位
left(字符串,len(字符串)-1)  从左侧截取n-1位

但是结尾有空格时得不到正确结果(如下,括号[]不算在字符串内,为了显示后面有空格):
[胡 大侠      ]执行后成为 [胡 大]

所以要先判断结尾是否有空格,有的话用下面语句先行替换:
UPDATE Student SET [Name] = SUBSTRING([Name], 1, LEN([Name])) WHERE  RIGHT([Name], 1) = ' '
不管后面在多少空格,这一个子就全替换掉啦!然后再用前面的语句就可以正确去掉最后一个字符了。(如果在你的需求里最后的空格也算一个字符,那么要标记下或者合成一条语句执行)
(PS:试过DataLength()也不行,因为它是以字节计算)

substring(字符串,1,len(字符串)-1) 从第一位开始,截取到第n-1位

 第二种:

declare @content varchar(32);     --定义一个content的变量
set @content='abc*def';           --对@content变量进行赋值
SELECT REPLACE(@content,'*','');  --例如 需要去掉*号 REPLACE(字符串,需要替换的符号,替换为什么)

 第三种:

SELECT  STUFF('1abcdef',1,1,'');

标签:字符,Name,--,len,content,sql,字符串,去掉,空格
From: https://www.cnblogs.com/Dongmy/p/17517085.html

相关文章

  • 一文读懂 Mysql MVCC
    ......
  • MySQL如何将创建外部表
     MySQL如何将创建外部表 本文实验版本MySQL8。MySQL中所谓的外部表,就是将innodb表创建在变量datadir代表的数据目录之外。(跟Oracle外部表完全不是一个东西)出于扩容,空间管理,IO优化等原因。这里可以使用如下3种方式创建外部表:使用DATADIRECTORY子句使用CREATETA......
  • SQLite4Unity3d unity游戏数据库
      SQLite4Unity3d是一种基于sqlite-net进行封装的unity包,适用在iOS,Mac,Android和Windows项目中工作,适用于中大型游戏 项目架构传统unity序列化数据共有几种方案,包括使用本地持久化类PlayerPrefs,使用Json方法、使用XMl方法,但以上几种方案有使用上限制,修改自由化,规模化使用......
  • C++代码中字符串分多行时的情况
    #include<iostream>intmain(constintargc,constchar*argv[]){std::stringstrSql1="select*fromtable\whereid=1\andname='name'";std::cout<<strSql1<<std::endl;std::stringst......
  • 数据库SqlServer迁移PostgreSql实践
    SqlServer属于商业数据库,不可能像Mysql等数据库一样,去解析相关的数据库binlog,从而实现增量数据的回放,结合应用属性,最后确定采用离线迁移方式,从SqlServer中将表数据全部读出,然后将数据写入到pg中,采用此种方案的弊病就是程序端需停止写入(应用可将部分数据缓存到本......
  • MYSQL查询时间范围内的数据
    其中,table_name是要查询的表名,date_column是日期字段的列名。一周SELECT *FROM table_nameWHERE date_columnBETWEENDATE_SUB(CURDATE(),INTERVAL1WEEK)ANDCURDATE();一个月SELECT *FROM table_nameWHERE date_columnBETWEENDATE_SUB(CURDATE(),INTERV......
  • sql server 默认时间 创建时间 最后修改时间
      创建时间:将字段设置为datetime类型,并设置默认值为getdate()ALTERTABLE表名ADDcreateTimeSMALLDATETIMEDEFAULT(GETDATE())修改时间:通过触发器,在updateAfter后,使用如下语句实现:updatetableNamesetcolumnName=getdate()WHEREIDIN(SELECTDISTINCTIDFR......
  • python连接mysql数据库
    连接mysql方式很多,这里先只介绍pymysql库连接mysql数据库。1.安装pymysqlpipinstallpymysql-ihttps://pypi.tuna.tsinghua.edu.cn/simple2.  建立mysql数据表 安装好mysql数据库之后,建立表并插入数据后如下: 表的结构:3.连接数据库连接数据......
  • 事务全攻略,MySQL数据库必学知识!
    前言从今天开始,健哥就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深,全面讲解数据库体系。非常适合零基础的小伙伴来学习。全文大约【1707】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文......
  • postgresql 字符串转整数 int、integer
    postgresql字符串转整数int、integer --把'1234'转成整数selectcast('1234'asinteger);--用substring截取字符串,从第8个字符开始截取2个字符:结果是12selectcast(substring('1234abc12',8,2)asinteger)---使用to_number函数来转换成整数---to_number(text,......