我有一個名為 nifty_50 的 SQL 表,其中包含以下兩列。
Date Close
Apr 07, 2022 17,763.40
Apr 06, 2022 17,807.65
Apr 05, 2022 17,957.40
Apr 04, 2022 18,053.40
Apr 01, 2022 17,670.45
Mar 31, 2022 17,464.75
我正在嘗試添加另一列,其中顯示日期列的日期名稱。
預期輸出:
Date Close Day_name
Apr 07, 2022 17,763.40 Thursday
Apr 06, 2022 17,807.65 Wednesday
Apr 05, 2022 17,957.40 Tuesday
Apr 04, 2022 18,053.40 Monday
Apr 01, 2022 17,670.45 Friday
Mar 31, 2022 17,464.75 Thursday
我試著做
select date, close, datename(date ,getdate()) as day_name, from nifty_50;
上面的代碼不起作用,我搜索并嘗試過的所有其他代碼也不起作用。我知道這是一個簡單的代碼。有人可以幫我嗎?
uj5u.com熱心網友回復:
將該TO_CHAR函式與Day格式模型一起使用。
select "DATE",
close,
TO_CHAR("DATE", 'fmDay') as day_name
from nifty_50;
注意:fmDay將從日期名稱中去除尾隨空格(否則天將全部輸出為長度等于用尾隨空格填充的最長日期名稱的字串)。
注 2:DATE是 Oracle 中的保留字,不能用作不帶引號的識別符號。更好的做法是選擇不同的識別符號而不是使用保留字。
其中,對于樣本資料:
CREATE TABLE nifty_50 ("DATE", Close) AS
SELECT DATE '2022-04-07', 17763.40 FROM DUAL UNION ALL
SELECT DATE '2022-04-06', 17807.65 FROM DUAL UNION ALL
SELECT DATE '2022-04-05', 17957.40 FROM DUAL UNION ALL
SELECT DATE '2022-04-04', 18053.40 FROM DUAL UNION ALL
SELECT DATE '2022-04-01', 17670.45 FROM DUAL UNION ALL
SELECT DATE '2022-03-31', 17464.75 FROM DUAL;
輸出:
日期 關閉 DAY_NAME 2022-04-07 00:00:00 17763.4 周四 2022-04-06 00:00:00 17807.65 周三 2022-04-05 00:00:00 17957.4 周二 2022-04-04 00:00:00 18053.4 周一 2022-04-01 00:00:00 17670.45 星期五 2022-03-31 00:00:00 17464.75 周四
db<>在這里擺弄
uj5u.com熱心網友回復:
您可以嘗試在下面獲取日期名稱:
DECLARE @DateVal DATE = '2022-07-04';
SELECT @DateVal As [Date],
DATENAME(WEEKDAY, @DateVal) AS [Day Name],
DATENAME(DW, @DateVal) AS [Day Name],
DATENAME(W, @DateVal) AS [Day Name];
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/457444.html
