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

时间:2017-05-12 05:32:37

标签: sql sql-server sql-server-2000

我们有一个SQL Server 2000数据库用于我们的业务。现在,我正努力为员工提供易于使用和可读的输出。我做的SQL查询工作正常,但正如我所说,我想让它易于使用。因此,我们的员工只需按下更新按钮,他或她就会收到实际的数字。

数据库在每条记录上使用pip install --upgrade $TF_BINARY_URL 列,其中包含记录的实际日期。但是以UPD_DAT格式。所以今天它是YYYYMMDD。到现在为止还挺好。现在我想用今天作为查询。所以我用Google搜索并尝试使用20170512Datepart。但不知怎的,它不会起作用。

所以我得到类似的东西:

getdate

我在1月份开始使用此查询并认为它正在运行。今天我继续发布它并注意到一些问题。我得到的结果是1月而不是5月,我得SELECT data FROM table WHERE UPD_DAT = (DATEPART("YYYY", (GETDATE())) * 100 + DATEPART("MM", MONTH(GETDATE()))) * 100 + DATEPART("DD", (GETDATE())) 而不是20170112

如前所述,它是SQL Server 2000.

2 个答案:

答案 0 :(得分:0)

尝试此查询,

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

答案 1 :(得分:0)

不要同时使用month和datepart函数。

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

使用以下内容以所需格式获取日期

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