SQL中的转换函数出错
我在MSACCESS上编写了以下SQLSQL中的转换函数出错,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
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中是非常不标准的。