【问题标题】:MSSQL Query Executed But not updated in TableMSSQL 查询已执行但未在表中更新
【发布时间】:2015-03-03 12:05:08
【问题描述】:

我同时使用了 MYSQL 和 MSSQL,我在 MYSQL 中尝试了它的工作,但 MSSQL 查询也执行了,但有 0 行受到影响并签入尚未更新的表。

MYSQL 查询:

UPDATE aqi_metrics 
SET stability=:stability ,risk=:risk,days=DATE(NOW( )) 
WHERE project=:project AND days=DATE(NOW( ))

MSSQL 查询:

UPDATE aqi_metrics 
SET stability=31 ,risk=8,days=GETDATE() 
WHERE project='JupiterQA' AND days=GETDATE()

MSSQL 查询中的错误是什么?

【问题讨论】:

  • days 列的数据类型是什么以及运行select * from aqi_metrics WHERE project='JupiterQA' AND days=GETDATE() 时会发生什么
  • DATE(NOW( ))GETDATE() 不同。试试CAST(GETDATE() AS DATE)

标签: sql-server sql-server-2008 mssql-jdbc


【解决方案1】:

GETDATE() 返回一个日期时间 - 所以它也会有时间。您需要将两者都转换为日期数据类型以比较日期。例如。

UPDATE aqi_metrics 
SET stability=31 ,risk=8,days=GETDATE() 
WHERE project='JupiterQA' AND CONVERT(date, days) = CONVERT(date, getdate())

【讨论】:

    猜你喜欢
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多