求一条SQL语句关于exists
有一个表结构如下
id name qq email date
01 张三 101777 8@8.net 2006-11-14
02 丽丝 111777 8@8.net 2006-11-14
03 2006-11-14 891777 8@8.net 2006-11-14
04 2006-11-19 891777 8@8.net 2006-11-14
05 齐齐 891777 8@8.net 2006-11-14
06 六六 888777 8@8.net 2006-11-14
05 可可 111777 8@8.net 2006-11-14
...
要修改其中像03和06这样的数据,假设同意改成‘菲菲’我使用的下面的语句:
UPDATE 表 SET Name = '菲菲 ' WHERE EXISTS (SELECT ISDATE(name))
却修改了数据库中所有的记录而我要修改的仅仅是name的值是时间的也就是ISDATE(name)函数返回1的请高手帮助
------解决方案--------------------UPDATE 表 SET Name = '菲菲 ' WHERE ISDATE(name) = 1
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
最新版本:20070212
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------楼上几位正解。如果非要用Exists的话,要这样写:
UPDATE 表 a SET Name = '菲菲 '
WHERE EXISTS
(
SELECT 1 from 表 where id=a.id and ISDATE(name)=1
)