Sql server 在SQL Server中使用INNERJOIN从日期中删除时间戳
我在这里发现了很多东西,但没有任何帮助。我可以删除时间戳,但在使用Sql server 在SQL Server中使用INNERJOIN从日期中删除时间戳,sql-server,database,timestamp,inner-join,Sql Server,Database,Timestamp,Inner Join,我在这里发现了很多东西,但没有任何帮助。我可以删除时间戳,但在使用内部联接时无法删除它。我试过很多东西,但都不管用 这就是我要做的: SELECT CAST(CURRENT_TIMESTAMP as DATE) "END_DATE", LO_ID FROM dbo.LO as L INNER JOIN dbo.IL as I ON L.LO_ID = I.LO_ID INNER JOIN dbo.PO as P ON P.LO_ID = I.LO_ID
内部联接时无法删除它。我试过很多东西,但都不管用
这就是我要做的:
SELECT
CAST(CURRENT_TIMESTAMP as DATE) "END_DATE", LO_ID
FROM
dbo.LO as L
INNER JOIN
dbo.IL as I ON L.LO_ID = I.LO_ID
INNER JOIN
dbo.PO as P ON P.LO_ID = I.LO_ID
INNER JOIN
dbo.CO as C ON P.CO_ID = C.ID
WHERE
P.LO = 7
我在LOU ID处出错。当我使用内部联接时,如何删除时间戳
我还尝试了CONVERT
方法,而不是CAST
PS:这是我想要得到的结果:
SELECT * FROM loan.LOANS as L
INNER JOIN insurance.INSURANCES as I ON L.LOAN_ID = I.LOAN_ID
INNER JOIN insurance.POLICIES as P ON P.LOAN_ID = I.LOAN_ID
INNER JOIN insurance.COMPANIES as C ON P.COMPANY_ID = C.ID WHERE P.LOAN_ID = 7
这很好,这就是我所期望的,但在所有日期中都有一个时间戳,我只想删除这个时间戳
此查询有什么问题
SELECT CONVERT(date, [L.END_DATE]) as LOAN_END_DATE,
CONVERT(date, [I.END_DATE]) as INSURANCE_END_DATE,
L.LOAN_ID
FROM loan.LOANS as L
INNER JOIN insurance.INSURANCES as I ON L.LOAN_ID = I.LOAN_ID
INNER JOIN insurance.POLICIES as P ON P.LOAN_ID = I.LOAN_ID
INNER JOIN insurance.COMPANIES as C ON P.COMPANY_ID = C.ID WHERE P.LOAN_ID = 7
您应该能够使用convert函数删除每个返回字段的时间部分。返回的字段是来自主表还是联接表并不重要。您没有在“选择”字段中指定需要哪个表的LOU ID。@brithwulf如果不清楚您假装实现了什么,您应该在“贷款和保险”中提供一个数据示例,并显示您希望从该数据中获得的结果。不明确的列名“END_DATE”,这就是我得到的错误。如果在多个表中有END_DATE列,则需要使用它们的别名来区分它们。我已经更新了答案,以显示带有别名的结束日期。