不知道是什么数据库!
以下oracle的例子
delete from table_name where to_char(write_time,'yyyy-mm-dd')='2000-01-01'

解决方案 »

  1.   

    datediff(day,'1997-02-26',write_time)=0
      

  2.   

    谢谢大家,
    ms sqlserver2000
    里面的一条数据: 2002-10-28 13:15:15 这个实在企业管理器打开表时显示的。
    可是在输入:
    Delete from table_name where write_time='2002-10-28 13:15:15'
    却删不掉那条记录,为什么?
      

  3.   

    '2002-10-28 13:15:15'
    不是datetime,你得换格式。
      

  4.   

    你转化字符在删好些!
    Delete from table_name where Convert(datetime,‘yyyy-mm-dd hh-mm-ss’)='2002-10-28 13:15:15'这样不是好多了吗?
    不转化!日期比较是很严格的 
    你的日期比较本来就有错write_time='2002-10-28 13:15:15'修改为
    write_time= 2002-10-28 13:15:15 不用单引号
      

  5.   

    麻烦你5swords()说一下我怎么转换格式呢,
    在aspx又怎么用呢
      

  6.   

    Delete from table_name where write_time=Convert(datetime,'2002-10-28 13:15:15')或把write_time变成varchar类型更好。
      

  7.   


    Delete from table_name where 0=datediff(second,'2002-10-28 13:15:15',write_time)
      

  8.   

    你用datetime作PK,为什么呀?有什么好处吗?
      

  9.   

    对了!你是用的Adaptive Server Anywhere数据库吗????
      

  10.   

    我发现ms sqlserver2000下面的数据库是精确的毫秒的查询分析器里
    Delete from table_name where write_time='2002-10-28 13:15:15.150'
    就可以了,
    但是我把它读到web里面,却只有'2002-10-28 13:15:15'所以我想怎么转换可能都不对!因为精确度被忽略了。
      

  11.   

    所以把write_time变成varchar比较好,只是格式和'2002-10-28 13:15:15'可能不同,用datediff可以指明精确到秒。
      

  12.   

    我用的是mssqlserver2000,to johnage(湘军)
      

  13.   

    delete from table_name where convert(char(10),write_time,120)='2002-10-31'
      

  14.   

    to bolar 如果=‘2002-10-31 13:20:21'
    convert的参数又是什么样子???
      

  15.   

    delete from table_name where convert(char(10),write_time,120)=convert(char(10),'2002-10-31 13:20:21',120)