谢谢大家, ms sqlserver2000 里面的一条数据: 2002-10-28 13:15:15 这个实在企业管理器打开表时显示的。 可是在输入: Delete from table_name where write_time='2002-10-28 13:15:15' 却删不掉那条记录,为什么?
'2002-10-28 13:15:15' 不是datetime,你得换格式。
你转化字符在删好些! 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 不用单引号
麻烦你5swords()说一下我怎么转换格式呢, 在aspx又怎么用呢
Delete from table_name where write_time=Convert(datetime,'2002-10-28 13:15:15')或把write_time变成varchar类型更好。
或 Delete from table_name where 0=datediff(second,'2002-10-28 13:15:15',write_time)
你用datetime作PK,为什么呀?有什么好处吗?
对了!你是用的Adaptive Server Anywhere数据库吗????
我发现ms sqlserver2000下面的数据库是精确的毫秒的查询分析器里 Delete from table_name where write_time='2002-10-28 13:15:15.150' 就可以了, 但是我把它读到web里面,却只有'2002-10-28 13:15:15'所以我想怎么转换可能都不对!因为精确度被忽略了。
ms sqlserver2000
里面的一条数据: 2002-10-28 13:15:15 这个实在企业管理器打开表时显示的。
可是在输入:
Delete from table_name where write_time='2002-10-28 13:15:15'
却删不掉那条记录,为什么?
不是datetime,你得换格式。
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 不用单引号
在aspx又怎么用呢
Delete from table_name where 0=datediff(second,'2002-10-28 13:15:15',write_time)
Delete from table_name where write_time='2002-10-28 13:15:15.150'
就可以了,
但是我把它读到web里面,却只有'2002-10-28 13:15:15'所以我想怎么转换可能都不对!因为精确度被忽略了。
convert的参数又是什么样子???