Tsql 检查存储过程:将特定时区城市的日期时间转换为另一个

Tsql 检查存储过程:将特定时区城市的日期时间转换为另一个,tsql,stored-procedures,Tsql,Stored Procedures,我正在尝试创建一个存储过程,它使用本文将特定时区城市的日期时间转换为另一个: 有人能检查我的存储过程并帮助我吗?非常感谢您在查询中混合了JOIN类型。下一行使用逗号和WHERE子句连接 FROM TimeZoneCity, TimeZones tz WITH (NOLOCK) 由于混合了联接语法,因此别名tz不可用。您应该始终使用相同的语法。该行应为: SET @Query = @Query + N'FROM TimeZoneCity INN

我正在尝试创建一个存储过程,它使用本文将特定时区城市的日期时间转换为另一个:


有人能检查我的存储过程并帮助我吗?非常感谢

您在查询中混合了
JOIN
类型。下一行使用逗号和
WHERE
子句连接

FROM TimeZoneCity, TimeZones tz WITH (NOLOCK) 
由于混合了联接语法,因此别名
tz
不可用。您应该始终使用相同的语法。该行应为:

SET @Query = @Query + N'FROM TimeZoneCity 
                        INNER JOIN TimeZones tz WITH (NOLOCK) 
                              ON TimeZoneCity.TimeZoneID = tz.TimeZoneID'

谢谢蓝脚,这是一个很好的观点,但它并没有解决我的问题,我有同样的错误。也许查询的第二部分不正确??如果删除查询的
SET@ResultDate
部分,它是否有效?@Vinipuh不清楚您试图对查询的第二部分执行什么操作。
FROM TimeZoneCity, TimeZones tz WITH (NOLOCK) 
SET @Query = @Query + N'FROM TimeZoneCity 
                        INNER JOIN TimeZones tz WITH (NOLOCK) 
                              ON TimeZoneCity.TimeZoneID = tz.TimeZoneID'