簡體   English   中英

SQL查詢將今天的日期轉換為yyyymmdd

[英]SQL query convert today date into yyyymmdd

我們有一個適合我們業務的SQL Server 2000數據庫。 現在,我正在嘗試為我們的員工提供易於使用和可讀的輸出。 我進行的SQL查詢工作正常,但如上所述,我想使其易於使用。 這樣我們的員工只需要按一個更新按鈕,他或她就會收到實際的數字。

數據庫在每條記錄上使用一個UPD_DAT列,該列包含創建該記錄的實際日期。 但是采用YYYYMMDD格式。 所以今天是20170512 到現在為止還挺好。 現在我想將今天用作查詢。 所以我用Datepartgetdate 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM