[英]SQL query convert today date into yyyymmdd
我們有一個適合我們業務的SQL Server 2000數據庫。 現在,我正在嘗試為我們的員工提供易於使用和可讀的輸出。 我進行的SQL查詢工作正常,但如上所述,我想使其易於使用。 這樣我們的員工只需要按一個更新按鈕,他或她就會收到實際的數字。
數據庫在每條記錄上使用一個UPD_DAT
列,該列包含創建該記錄的實際日期。 但是采用YYYYMMDD
格式。 所以今天是20170512
。 到現在為止還挺好。 現在我想將今天用作查詢。 所以我用Datepart
和getdate
Datepart
搜索並嘗試了一些東西。 但是不知何故,它不起作用。
所以我得到這樣的東西:
SELECT data
FROM table
WHERE UPD_DAT = (DATEPART("YYYY", (GETDATE())) * 100 +
DATEPART("MM", MONTH(GETDATE()))) * 100 +
DATEPART("DD", (GETDATE()))
我從一月份開始使用此查詢,並認為它可以正常工作。 今天,我繼續寫它,發現了一些問題。 我得到的結果是在一月而不是20170512
,我得到的是20170112
而不是20170512
。
如前所述,它是SQL Server 2000。
試試這個查詢,
select data from table where CAST(UPD_DAT AS NVARCHAR(10)) = CONVERT(NVARCHAR(10), GetDate(),112)
不要同時使用month和datepart函數。
我的意思是不要使用此select datepart("mm", month(GETDATE()))
使用以下命令以所需的格式獲取日期
select Datepart("YYYY",(GETDATE())) , datepart("mm",GETDATE()), DATEPART("DD",(GETDATE()))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.