SQL 查询将今天日期转换为 yyyymmdd

SQL query convert today date into yyyymmdd

我们的业务有一个 SQL Server 2000 数据库。现在我正在尝试为我们的员工制作易于使用和可读的输出。我创建的 SQL 查询工作正常,但如前所述,我想让它易于使用。这样我们的员工只需按下更新按钮,他或她就会收到实际号码。

数据库在每条记录上使用一个 UPD_DAT 列,其中包含创建记录的实际日期。但采用 YYYYMMDD 格式。所以今天是 20170512。到目前为止,一切都很好。现在我想用今天作为查询。所以我用谷歌搜索并尝试使用 Datepartgetdate。但不知何故它行不通。

所以我得到了类似的东西:

SELECT data 
FROM table 
WHERE UPD_DAT = (DATEPART("YYYY", (GETDATE())) * 100 +  
                 DATEPART("MM", MONTH(GETDATE()))) * 100 +  
                 DATEPART("DD", (GETDATE()))

我在 1 月份开始使用此查询,并认为它有效。今天我继续使用它并发现了一些问题。我得到的结果是在一月而不是五月,我得到 20170112 而不是 20170512

如前所述,它是 SQL Server 2000。

试试这个查询,

select data from table where CAST(UPD_DAT AS NVARCHAR(10)) = CONVERT(NVARCHAR(10), GetDate(),112)

不要同时使用月份和日期部分函数。

我的意思是不要使用这个 select datepart("mm", month(GETDATE()))

使用以下方法获取所需格式的日期

select Datepart("YYYY",(GETDATE())) , datepart("mm",GETDATE()),  DATEPART("DD",(GETDATE()))