我有一個命名視圖「FechasFirmaHorometros」定義爲爲什麼YEAR會因日期轉換錯誤而失敗?
SELECT IdFormulario,
CONVERT(Date, RValues) AS FechaFirma
FROM dbo.Respuestas
WHERE (IdPreguntas IN (SELECT IdPregunta
FROM dbo.Preguntas
WHERE
(FormIdentifier = dbo.IdFormularioHorometros())
AND (Label = 'SLFYHDLR')))
,我有一個名爲函數[RespuestaPreguntaHorometrosFecha]定義爲
SELECT Respuestas.RValues
FROM Respuestas
JOIN Preguntas
ON Preguntas.Label = @LabelPregunta
JOIN FechasFirmaHorometros
ON FechasFirmaHorometros.IdFormulario = Respuestas.IdFormulario
WHERE Respuestas.IdPreguntas = Preguntas.IdPregunta
AND YEAR(FechasFirmaHorometros.FechaFirma) = @Anio
AND MONTH(FechasFirmaHorometros.FechaFirma) = @Mes
@LabelPregunta VARCHAR(MAX)
@Anio INT
@Mes INT
我一直在命中上述功能的同時調試另一個收到此消息使用它的存儲過程
Conversion failed when converting date and/or time from character string.
然而,我可以自由地做像
SELECT DAY(FechaFirma) FROM FechasFirmaHorometros
爲什麼會發生這種情況,我該如何解決或解決它?
這可能是我的想象,但你似乎正在調用一個函數IdFormularioHorometros(),並描述另一個函數RespuestaPreguntaHorometrosFecha。 –
IdFormularioHorometros()是用於定義視圖的函數,僅此而已。 RespuestaPreguntaHorometrosFecha是我在第二塊中描述的那個,有問題的那個 – Machinarius
@DanBracuk函數'RespuestaPreguntaHorometrosFecha'使用視圖'FechasFirmaHorometros',並且該視圖使用函數'IdFormularioHorometros'。錯誤發生在函數'RespuestaPreguntaHorometrosFecha'中,該函數間接使用函數'IdFormularioHorometros'。 –