社区
MS-SQL Server
帖子详情
sql字符内容问题
tshow
2005-07-26 02:54:08
"AAAA□□□□"如果一个记录中出现这样的内容,如何处理?我其实只要AAAA的结果,后面的是sql自己生成的,而且还占长度,len()的结果是8
那位高人知道是什么原因导致如此的,如何消除后面的□?
这个□拷贝出来到记事本等工具里,是空白,没有内容的。如何处理?
导致在VB程序中,ADO recordset读出来的内容有误,不是一个正确的字符串。
急,高分相送
...全文
194
9
打赏
收藏
sql字符内容问题
"AAAA□□□□"如果一个记录中出现这样的内容,如何处理?我其实只要AAAA的结果,后面的是sql自己生成的,而且还占长度,len()的结果是8 那位高人知道是什么原因导致如此的,如何消除后面的□? 这个□拷贝出来到记事本等工具里,是空白,没有内容的。如何处理? 导致在VB程序中,ADO recordset读出来的内容有误,不是一个正确的字符串。 急,高分相送
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
冷箫轻笛
2005-07-26
打赏
举报
回复
我的意思不是说全部用手工改,
我只是想知道手工改的话会不会成功
个人认为这个问题向要解决的话必须分析它的原因!
为什么大部分数据正常而这部分数据有问题
tshow
2005-07-26
打赏
举报
回复
啊,手工肯定不行,虽然少量,但是手工还是会死人的
问题就是那个空白的东西不知道如何替换啊,在系统之外就是空字符了,哈
冷箫轻笛
2005-07-26
打赏
举报
回复
如果手工修改一条记录,去掉“□”的话,那系统会不会再自动加上这个“□”?
phantomMan
2005-07-26
打赏
举报
回复
使用 Replace 把它替换为'' 或者一般空格
冷箫轻笛
2005-07-26
打赏
举报
回复
数据类型有问题?
tshow
2005-07-26
打赏
举报
回复
谢谢
应该不是如此的,系统自动加上的空格是不被计算长度的,即len()时结果应该为4,这种空格在系统里显示为空白,不会有“□”
这个“□”其实也是空格,可能是不同编码格式下的,但是我闹不清是何格式,产生原因如何
只有小量记录如此,其他正常,用ltrim处理时系统并不把他作为空格处理掉,迷糊中。郁闷
popsn
2005-07-26
打赏
举报
回复
学习
GRLD8888
2005-07-26
打赏
举报
回复
这个字段的数据类型是不是char型(定长字符数据类型)呀,
这种数据类型,在存储数据时,当你输入的内容小于你建表
时所给的长度时,后面就会出现空格。如果你希望你存储的数据
实际长度与你输入的内容是一致的话,你可以将其数据类型改为
varchar(变长字符数据类型),再往里面输入记录时,就不会
出现这种情况啦
alter table table1
alter column name1 varchar(12)
如果你不想修改数据类型的话,你还可以这样做:
select rtrim(name1) from table1
tshow
2005-07-26
打赏
举报
回复
有那位遇到过类似问题,告诉点头绪
SQL
字符
型注入
CTFHub
SQL
字符
型注入 可以看到我们输入的数据会被单引号所括上 尝试正常的 1 and 1=2 发现没有报错 还是有回显
字符
型的 1 and 1=2 就相当于只是
字符
串 并没有发挥其表达式的作用所以这就没有产生错误回显 (不太明白为什么
sql
还是会查询到id = 1 的数据) 这时候我们添加 ' 手动闭合前一个
sql
语句然后再拼接上我们的
sql
语句进行测试 整个的
sql
语句大概是 $
sql
= "select Data from table_name .
SQL
转义
字符
和通配符
SQL
中escape的主要用途 1.使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通
字符
。例如,要搜索在任意位置包含
字符
串 5% 的
字符
串,请使用: WHERE ColumnA LIKE '%5/%%' ESCAPE '/' 2.ESCAPE 'escape_character'
SQL
中
字符
串拼接
SQL
中
字符
串拼接 1. 概述 2. 数字 +
字符
串 3. 数字 + 数字 4.
字符
串 +
字符
串 5. 使用CAST和CONVERT函数进行类型转换 1. 概述 在
SQL
语句中经常需要进行
字符
串拼接,以
sql
server,oracle,my
sql
三种数据库为例,因为这三种数据库具有代表性。
sql
server: select '123'+'456'; oracle: select '123'||'456' from dual; 或 select concat('123','456') from du
SQL
字符
串拼接
SQL
字符
串拼接 不同的数据库,相应的
字符
串拼接方式不同,通过对比加深一下记忆。 一、My
SQL
字符
串拼接 1、CONCAT函数 语法格式:CONCAT(char c1, char c2, ..., char cn) ,其中char代表
字符
串,定长与不定长均可以 1.1)连接两个
字符
串 1.2)连接多个
字符
串 2、"+"操作符 2.1)...
SQL
快速拆分
字符
串
如果您觉得我的公众号能给您带来一丝丝的收获,请多多转发给您的朋友圈,让更多的人看到并了解。length 是可选的参数,表示要提取的子串的长度。如果省略 length,则 SUBSTR() 将返回从 start 位置到原始
字符
串末尾的所有
字符
。INSTR() 函数返回 substr 在str 中的第一个匹配位置。注意,My
SQL
中的
字符
串索引是从 1 开始的。我们以一个实例来说明,比如说我们要把下图左边的样式拆分成右边的样式,用
SQL
怎么写呢?substr 是要在 str 中查找的子
字符
串。
MS-SQL Server
34,871
社区成员
254,637
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章