日期:2014-05-17  浏览次数:20866 次

Sqlserver更新数据中, decimal类型怎么做.


真搞不懂,语句很明显没有错误.但是 effect的行数为0.
是不是 decimal类型,不是int的类型原因?也不应该哈...到底什么情况..

------解决方案--------------------
FSex是不是有" "空格符,把条件换成这个试试:where REPLACE(FSex,' ','')='女'
------解决方案--------------------
我觉得也是条件有问题,可以尝试楼上的做法。trim(FSex) 或者 LTRIM(RTRIM(FSex))
------解决方案--------------------
 effect的行数为0,肯定就是where子句的问题,因为只有where子句才会影响 effect的行数,

改为 where [FSex] like '%女%' 试试看,

不管怎样效率都很低,最好把[FSex]改为int型,
------解决方案--------------------
引用:
Quote: 引用:

 effect的行数为0,肯定就是where子句的问题,因为只有where子句才会影响 effect的行数,

改为 where [FSex] like '%女%' 试试看,

不管怎样效率都很低,最好把[FSex]改为int型,


性别改为int类型?
好吧...你的意思是,如果性别不保密的话,用 bit做更好?


这个也没有区别吧!
不过对于含有回车符等符号,要去掉的话,可以参考:http://www.cnblogs.com/50614090/archive/2010/12/16/1908634.html
------解决方案--------------------
数据库最好不要动,
可用Replace函数把空格,或者换行这些替换为空
------解决方案--------------------
你好像是  update xxxx set xxxx == xxxx where xxx = xx 
你把 == 改成 = 应该就好了,你的图很不清晰 不知道是不是我看错了
------解决方案--------------------
引用:
update [dbo].[T_Employee_01] set [FSex] = REPLACE([FSex],CHAR(9),'')


搞定了...版主你搞错了...update可以更新....
char(9)才是制表符 '\t'

所以这个语句才对...

是可以更新啊,这样肯定可以啊,你写的update都嘛。你没懂我上面的意思,
我意思是说不能动数据库,就只有用代码处理啥。