Sql正确使用STR、CONVERT和NVARCHAR
我一直在做一个关于Datacamp的课程,下面有一个问题, 我的答案似乎是正确的,给出了正确的结果,但被标记为错误。怎么了 在适当的情况下,使用STR、CONVERT和NVARCHAR(30)在Employees表中显示每个员工的名字、员工ID和生日(以ISO 8601格式的Unicode表示) 每个结果应为以下格式的单个字符串,其中每个结果均由适当转换的值替换: 有雇员身份证,出生于 您提交的内容应与上述格式完全匹配 我的答覆是: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
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-这是期末考试,所以我不能问他们问题。根据我的经验,猜测某些教育机构的教学方法背后的原因通常是徒劳的。我不会失眠。如果你得到了想要的结果,就是这样。