SQL Server函数错误-从字符串转换日期和/或时间时转换失败
即使我通过了SQL Server函数错误-从字符串转换日期和/或时间时转换失败,sql,sql-server-2008,Sql,Sql Server 2008,即使我通过了2012-03-10而不是getdate() 我还想学习如何以列表的形式传递参数。因为其中一个参数是列表形式的。如果你想了解更多关于函数的信息,请告诉我 这是在上述函数中使用的函数: select * from [dbo].[fn_InventoryPositionSet] (GETDATE(), 1, null) 问题不在[dbo].[fn\u InventoryPositionSet]中,而是在[dbo].[COBTimestamp]中 CREATE FUNCTION [dbo
2012-03-10
而不是getdate()
我还想学习如何以列表的形式传递参数。因为其中一个参数是列表形式的。如果你想了解更多关于函数的信息,请告诉我
这是在上述函数中使用的函数:
select * from [dbo].[fn_InventoryPositionSet] (GETDATE(), 1, null)
问题不在
[dbo].[fn\u InventoryPositionSet]
中,而是在[dbo].[COBTimestamp]
中
CREATE FUNCTION [dbo].[COBTimestamp]
(
@COBDate DATETIME
)
RETURNS DATETIME
AS
BEGIN
RETURN DATEADD(day, DATEDIFF(day, 0, @COBDate), '23:59:59')
END
GO
查看您的表格定义:
RETURN DATEADD(day, DATEDIFF(day, 0, @COBDate), '23:59:59')
^__________ Must be converted to `DATETIME`
您可以选择:
1. Account VARCHAR(10),
2. PositionId VARCHAR(150),
*** 3. VersionDate DATETIME, ***
4. ProductType VARCHAR(50),
5. XRef VARCHAR(50),
6. XRefType VARCHAR(20),
7. Desk VARCHAR(50)
“23:59:59”无法将其转换为
DATETIME
。还有正确的标签。正确的标签。我来看看你的解释。感谢PL/SQL没有DATEADD
功能。我假设您使用的是SQL Server
。正确,我使用的是SQL Server。您问的是两个截然不同的问题。最好是分别问他们几个问题。还有第二个问题。您不需要注释任何行,必须将正确的参数传递给DATEADD
函数。SQL Server中的'23:59:59'
位。谢谢您的帮助。我在表定义和select查询中出错。
1. Account VARCHAR(10),
2. PositionId VARCHAR(150),
*** 3. VersionDate DATETIME, ***
4. ProductType VARCHAR(50),
5. XRef VARCHAR(50),
6. XRefType VARCHAR(20),
7. Desk VARCHAR(50)
SELECT
1. P.Account,
2. P.UniquePositionId AS [PositionId],
*** 3. P.Desk, ***
4. P.VersionEffective AS [VersionDate],
5. P.ProductType,
6. P.XRef,
7. P.XRefType