MSSQL 表中一字段定义为varchar(128)类型,在求len的时候死活都是128长度,ltrim、rtrim都使用过了,求解,谢谢各位。
解决方案 »
- 这个SQL语句怎么写?
- 存储过程循环体内生成字符串
- 一个简单的创建存储过程,高手来帮下忙
- 这个子查询怎么写
- 感谢<DataLife(自由风)>,顺便再问一个小问题
- 请问,sqlserver里面的时间类型值:'2005-08-12 12:13:14' 如何转换成时间类型值'2005-08-12'
- 求自定义公式的设计思想---谢谢
- 如果一个表中的字段使用了左右连接,那么这个表中的其它字段就不能再用‘=’来判断了,如何避免?
- 直到今天才发现存储过程的优点,真该死,想学,请教
- sqlserver2008数据库压缩备份能分卷压缩吗
- DELETE与TRUNCATE TABLE与游标的诡异问题
- 关于一个自定义函数的写法
你的SQL语句呢?
用len(replace(replace(replace(column,char(13),''),char(10),''),char(9),''))--看看字符數
改为256,求LEN还是128,我返回所有行在该字段里面用鼠标可以拖出一个黑条子来,不知道是什么字符,SELECT出来不可见的,我怎么看该字段所有的值?
谢谢,是128,里面确实是128个字符,但不知道是什么字符,能不能看这些不可见的ASCII值?
select a.name,a.max_length,b.name
from sys.columns a
join sys.types b on a.user_type_id =b.user_type_id
where object_name(object_id)= 'TABLENAME' and a.name ='FIELDNAME'
select DATALENGTH(CAST(FIELDNAME AS NVARCHAR)) FROM TABLENAME
方法一:SELECT string, CAST(string AS varbinary(max)) FROM table,查看其二进制形式。
方法二:一款好的文本编辑器可以显示各种不可见字符的区别,如Vim。把这段字符串复制/粘贴到Vim即可。