我在Sql中爲學校做了一項任務,並且遇到了麻煩。我必須創建一個用戶功能,當你輸入一個日期時,你將收到星期幾(星期一是1,星期二2等)的號碼。我我好不容易寫的代碼如下,但是我得到將字符串錯誤的日期和/或時間轉換爲星期幾的日期時,轉換失敗
,所以我猜「從性格 字符串錯誤轉換日期和/或時間時,轉換失敗」我需要做一些鑄件。我已經研究過,但到目前爲止,我只發現了日期時間提示以及如何轉換,因此我無法在代碼中實現。
CREATE FUNCTION [dbo].[whichDay] (@p_day [datetime])
RETURNS [int]
AS
BEGIN
DECLARE @selectedDate [int]
SET @selectedDate= CASE
WHEN @p_day IN (N'Monday') THEN 1
WHEN @p_day IN (N'Tuesday') THEN 2
WHEN DAY (@p_day) IN (N'Wednesday') THEN 3
WHEN DAY (@p_day) IN (N'Thursday') THEN 4
WHEN DAY (@p_day) IN (N'Friday') THEN 5
WHEN DAY (@p_day) IN (N'Saturday') THEN 6
ELSE 7
END
RETURN @selectedDate
END;
GO
我也該試着用IF語句(IF然後ELSE如果對於所有其他天),但我無法找出一個爲好。
@TabAlleman請問你爲什麼要刪除'sql-server'標籤?我知道OP寫了'我在MySql中爲學校做作業',但他的例子清楚地表明它是T-SQL語言(SQL Server/Sybase)。 – lad2025
我比第一句更重視代碼。對我來說,OP似乎更有可能在一個問題中發佈錯誤的代碼,而不是他會說在他沒有的時候專門使用MySQL。 –
是的,我表達自己錯了。謝謝你糾正我。 –