根据日期

时间:2017-02-17 06:54:01

标签: sql sql-server database

我有一个SQL Server数据库databaseOne,其表格包​​含以下列:

company_name,account,data_uploaded_date

该表有100000条记录。我今天将5000行新数据上传到同一张表中。

我需要一个查询来检查有多少新公司名称之前没有在databaseOne中?

3 个答案:

答案 0 :(得分:0)

select count(*) 
from table 
where data_uploaded_date = cast(getdate() as date)

答案 1 :(得分:0)

{{1}}

答案 2 :(得分:0)

您需要将CountDistinct子句一起使用。如果其中包含IN,则NULL将无效。因此在Subquery中处理Null,传递给NOT IN

SELECT COUNT(DISTINCT company_name)
FROM TABLE1
WHERE company_name NOT IN (
        SELECT DISTINCT ISNULL(company_name, '')
        FROM TABLE1
        WHERE data_uploaded_date < CAST(GETDATE() AS DATE)
        )
AND data_uploaded_date >=CAST(GETDATE() AS DATE)