Sql正确使用STR、CONVERT和NVARCHAR

Sql正确使用STR、CONVERT和NVARCHAR,sql,sql-server,Sql,Sql Server,我一直在做一个关于Datacamp的课程,下面有一个问题, 我的答案似乎是正确的,给出了正确的结果,但被标记为错误。怎么了 在适当的情况下,使用STR、CONVERT和NVARCHAR(30)在Employees表中显示每个员工的名字、员工ID和生日(以ISO 8601格式的Unicode表示) 每个结果应为以下格式的单个字符串,其中每个结果均由适当转换的值替换: 有雇员身份证,出生于 您提交的内容应与上述格式完全匹配 我的答覆是: SELECT FirstName + ' has an Emp

我一直在做一个关于Datacamp的课程,下面有一个问题, 我的答案似乎是正确的,给出了正确的结果,但被标记为错误。怎么了

在适当的情况下,使用STR、CONVERT和NVARCHAR(30)在Employees表中显示每个员工的名字、员工ID和生日(以ISO 8601格式的Unicode表示)

每个结果应为以下格式的单个字符串,其中每个结果均由适当转换的值替换:

有雇员身份证,出生于 您提交的内容应与上述格式完全匹配

我的答覆是:

SELECT FirstName + ' has an EmployeeID of ' 
+ STR(EmployeeID) + ' and was born ' + 
CONVERT(NVARCHAR(30), BirthDate, 126) FROM dbo.Employees
str()
left用空格填充员工id。因此:

select '|' + str(1) + '|'
返回:

|         1|
我认为这些空间在结果集中是不受欢迎的。简单地转换为字符串通常就足够了:

convert(varchar(255), EmployeeId)
此外,出生日期的时间可能是不受欢迎的,因此我只使用日期部分:

CONVERT(NVARCHAR(10), BirthDate, 126)

询问Datacamp他们认为它有什么问题。@RobertHarvey在确定作业来源时,准确无误。评论投了赞成票。@RobertHarvey-这是期末考试,所以我不能问他们问题。根据我的经验,猜测某些教育机构的教学方法背后的原因通常是徒劳的。我不会失眠。如果你得到了想要的结果,就是这样。