SQL 查询将今天日期转换为 yyyymmdd
SQL query convert today date into yyyymmdd
我们的业务有一个 SQL Server 2000 数据库。现在我正在尝试为我们的员工制作易于使用和可读的输出。我创建的 SQL 查询工作正常,但如前所述,我想让它易于使用。这样我们的员工只需按下更新按钮,他或她就会收到实际号码。
数据库在每条记录上使用一个 UPD_DAT
列,其中包含创建记录的实际日期。但采用 YYYYMMDD
格式。所以今天是 20170512
。到目前为止,一切都很好。现在我想用今天作为查询。所以我用谷歌搜索并尝试使用 Datepart
和 getdate
。但不知何故它行不通。
所以我得到了类似的东西:
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()))
我们的业务有一个 SQL Server 2000 数据库。现在我正在尝试为我们的员工制作易于使用和可读的输出。我创建的 SQL 查询工作正常,但如前所述,我想让它易于使用。这样我们的员工只需按下更新按钮,他或她就会收到实际号码。
数据库在每条记录上使用一个 UPD_DAT
列,其中包含创建记录的实际日期。但采用 YYYYMMDD
格式。所以今天是 20170512
。到目前为止,一切都很好。现在我想用今天作为查询。所以我用谷歌搜索并尝试使用 Datepart
和 getdate
。但不知何故它行不通。
所以我得到了类似的东西:
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()))