Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server sql server作为错误,需要对话_Sql Server - Fatal编程技术网

Sql server sql server作为错误,需要对话

Sql server sql server作为错误,需要对话,sql-server,Sql Server,我有这个CASE语法: CASE WHEN (dbo.Futuredial_Validation.[Error Code]='1') THEN (dbo.Futuredial_Validation.LocalTime AS att.Date_cleared) END AS att.Date_cleared 我在关键字“AS”附近遇到错误语法。 有人能告诉我是否可以像这样在case结构中使用AS吗?删除case语句中的别名名称 CASE WHEN dbo.Futuredial_Validati

我有这个CASE语法:

CASE WHEN (dbo.Futuredial_Validation.[Error Code]='1')
THEN (dbo.Futuredial_Validation.LocalTime AS att.Date_cleared) END 
AS att.Date_cleared
我在关键字“AS”附近遇到错误语法。
有人能告诉我是否可以像这样在case结构中使用AS吗?

删除
case
语句中的
别名
名称

CASE WHEN dbo.Futuredial_Validation.[Error Code]='1' THEN 
       dbo.Futuredial_Validation.LocalTime END AS [att.Date_cleared]
如果确实需要,也可以添加括号。添加不需要的括号会使查询和条件变得笨拙

另一个改进是在表中使用别名
Futuredial\u Validation F

查询将是这样的

Select CASE WHEN F.[Error Code]='1' THEN F.LocalTime END AS [att.Date_cleared]
From dbo.Futuredial_Validation F

如注释中所述,最好避免在别名中使用
,否则必须使用方括号将其转义。

删除
case
语句中的
别名

CASE WHEN dbo.Futuredial_Validation.[Error Code]='1' THEN 
       dbo.Futuredial_Validation.LocalTime END AS [att.Date_cleared]
如果确实需要,也可以添加括号。添加不需要的括号会使查询和条件变得笨拙

另一个改进是在表中使用别名
Futuredial\u Validation F

查询将是这样的

Select CASE WHEN F.[Error Code]='1' THEN F.LocalTime END AS [att.Date_cleared]
From dbo.Futuredial_Validation F

如注释中所述,最好避免在别名中使用
,否则必须使用方括号来转义它。

OP-这里的一个补充是,您为别名使用了一个奇怪的名称。为什么使用att。?这将迫使您在别名周围添加[]。因此,它将是[在日期前清除]。删除前缀会让你的生活更轻松。@SeanLange-没有注意到这一点。感谢您没有问题@Prdp。我想可能是OP混淆了,这是一个已经存在的表别名,当然会产生更奇怪的错误。:)谢谢你,我有点听从你的建议,现在这个问题已经解决了,我还有一个问题@然后问一个新问题。如果此答案有助于您,请选择此答案左侧的勾号,将其标记为答案-这里的一个补充是,您为别名指定了一个奇怪的名称。为什么使用att。?这将迫使您在别名周围添加[]。因此,它将是[在日期前清除]。删除前缀会让你的生活更轻松。@SeanLange-没有注意到这一点。感谢您没有问题@Prdp。我想可能是OP混淆了,这是一个已经存在的表别名,当然会产生更奇怪的错误。:)谢谢你,我有点听从你的建议,现在这个问题已经解决了,我还有一个问题@然后问一个新问题。如果此答案对您有帮助,请选择此答案左侧的勾号,将其标记为答案