日期:2014-05-19  浏览次数:20437 次

求一条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
)