比如,A表中列a中有值 111
那么SELECT * FROM A WHERE a='111'能查询到,
但是现在SELECT * FROM A WHERE a='111 '也能查询到。
如果查询条件中带有空格,如何在WHERE a='111 '时查询不到这条数据而返回0行呢???
在SQL语句中能不能直接控制
但是在程序里的时候我是不知道len=多少的,难道要在程序中计算出来么?
SQL里有没有比较严格的查询方法,能把末尾的空格识别到的呢?
刚才专门用数据库试了一下,在数据库中,如果字段为“111 ”,那么len('111 ')反回的结果为3
看来我想法太单纯了,后来想了个还凑合的办法,如下:
Select * From A where replace(a,' ','_')='111'
上面能够适用大多数情况了,但也有个小问题,比如,LZ想查'11 111'这样的数据时,上面的办法查不出来,看看能不能满足LZ的需求吧。
我有一种方案,可能不是最优的,但大概是最直接而且准确的,写出来你就明白:
SELECT * FROM A WHERE '#'+A.a+'#' = '#'+'111111 '+'#'
...方案奇葩了点。。但是好使。。
仍然谢谢你无私的帮助。
不是奇葩,是巧妙!我也学到东西了。。。
本回答被提问者采纳MSSQL,查询条件中带有空格时,如何区分出带空格和不带空格的数据?
用replace把a列中的空格替换为另外的字符,再进行查询,这样就能筛掉有空格的行了。
为什么我的MSSQL表里字段有非空约束但仍然可以插入空数据
你插入的时的语句的内容是 空格吧 " " 这样空格还是能插入数据的。
把mssql数据库某列中间的空格去掉,SQL修改语句怎么写啊?比如:“张三...
update table set name=REPLACE(name,' ','') 将名字中空格替换掉,然后再更新名字。
MSSQL SERVER中易混淆的数据类型
Int 数据类型存储数据的范围大于 Smallint 数据类型存储数据的范围,而 Smallint 据类型存储数据的范围大于Tinyint 数据类型存储数据的范围。使用 Int 数据狗昔存储数据的范围是从 -2 147 483 648 到 2 147 483 647(每一个值要求4个字节存储空间)。使用 Smallint 数据类型时,存储数据的范围从 -32 768 到 32 ...
怎么用SQL语句在ACCESS中姓名列里两个字的人名中间加空格?
select left('张军',1)+' '+right('张军',1) where len('张军')=2 这个是在mssql里面的,你看看能不能用到
已知字符串str=' hello SQL Server 2005 ',怎么去除字符串中的空格?
从你的字符串示例中看的出是使用MSSQL2005,那么MSSQL2005的去除字符串空格的函数是使用替换函数【Replace】,语法是:Replace(字符串,要查找的字符串,替换后的字符串)示例:declare @str varchar(1000);set @str=' hello SQL Server 2005 ';print Replace(@str,' ','')结果是:helloSQLServer2005...
求SQL查询语句
三、连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户...
急!msSQL2005新建表时更改数据类型时报错无效数据类型。
char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义 char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不够的字符用空格去填。因为是固定长度,所以速度效率高。Varchar类型:Varchar 的类型不...
在cmd中使用bcp 工具导出数据的问题
指定BCP使用信任连接登录SQL Server。如果未指定-T,必须指定-U和-P。 -k 指定空列使用null值插入,而不是这列的默认值。 2. 如何使用BCP导出数据 (1) 使用BCP导出整个表或视图。 BCP AdventureWorks.sales.currency out c:currency1.txt -c -U"sa" -P"password" --使用密码连接 或 BCP AdventureWorks.sale...
SQLserver中字符串查找功能patindex和charindex的区别
CHARINDEX函数找到First Name和Last Name之间的空格,所以SUBSTRING函数可以分开ContactName列,这样就只有Last Name被选出。我在CHARINDEX函数返回的整数上加1,这样Last Name不是从空格开始。在第二个例子中,即如说你要计算记录中,某一个字段包含特定字符的所有记录数。CHARINDEX函数可以方便的解决你的问题。计算 Northwind...