SQL中的转换函数出错

SQL中的转换函数出错,sql,sql-server-2008,ms-access,Sql,Sql Server 2008,Ms Access,我在MSACCESS上编写了以下SQL SELECT Followup.MRN, Followup.dateentered, Followup.formname, (Followup.MRN & Format([Followup.dateentered], "yyyymmdd") & Followup.formname) AS UniqueMilestoneID FROM Followup; 它工作得很好 现在,当我在SQL Serv

我在MSACCESS上编写了以下SQL

SELECT 
    Followup.MRN, Followup.dateentered, Followup.formname, 
    (Followup.MRN & Format([Followup.dateentered], "yyyymmdd") 
     & Followup.formname) 
     AS UniqueMilestoneID
FROM Followup;
它工作得很好

现在,当我在SQL Server中编写此代码时:

SELECT 
   Followup.MRN, Followup.dateentered, Followup.formname, 
   (Followup.MRN & Convert([Followup.dateentered], "yyyymmdd") 
    & Followup.formname) AS UniqueMilestoneID
FROM Followup
我得到以下错误

味精207,第16级,状态1,第1行
列名“yyyymmdd”无效。
味精243,第16级,状态1,第1行
类型Followup.dateentered不是已定义的系统类型

你知道如何克服“convert”函数的错误吗?我想你想要这个:

SELECT 
   Followup.MRN, Followup.dateentered, Followup.formname, 
   Followup.MRN + 
      Convert(char(8), Followup.dateentered, 112) + 
      Followup.formname AS UniqueMilestoneID
FROM Followup
这是一本参考书。另外,要在SQL server中连接字符串,您需要使用
+
符号而不是
&

我想您需要:

SELECT 
   Followup.MRN, Followup.dateentered, Followup.formname, 
   Followup.MRN + 
      Convert(char(8), Followup.dateentered, 112) + 
      Followup.formname AS UniqueMilestoneID
FROM Followup

这是一本参考书。此外,要连接SQL server中的字符串,首先要使用
+
符号而不是
&
,SQL server中的字符串常量由单引号而不是双引号分隔

其次,convert不接受这种形式的参数。看

我想你想要的是:

convert(varchar(8), Followup.DateEntered, 112)

首先,SQL Server中的字符串常量由单引号而不是双引号分隔

其次,convert不接受这种形式的参数。看

我想你想要的是:

convert(varchar(8), Followup.DateEntered, 112)

在SQLServer中,字段/对象名称用双引号括起来,字符串用单引号括起来。“val”被解释为列名,“val”被解释为字符串值。您需要使用SQL Server 2012,它具有执行此类日期格式化的功能。对于其他版本的SQL Server,请检查正确的格式以及如何获取所需的格式。在执行此类操作时,请记住msaccess在SQL中是非常不标准的。在SQL Server中,字段/对象名称用双引号引起来,字符串用单引号引起来。“val”被解释为列名,“val”被解释为字符串值。您需要使用SQL Server 2012,它具有执行此类日期格式化的功能。对于其他版本的SQL Server,请检查正确的格式以及如何获取所需的格式。当您执行此类操作时,请记住msaccess在SQL中是非常不标准的。