我一直在Datacamp上学习一门课程,下面有一个问题, 我的回答似乎是正确的,并且给出了正确的结果,但是它被标记为错误。怎么了?
在适当的地方使用STR,CONVERT和NVARCHAR(30)在“雇员”表中为每个雇员显示名字,雇员ID和生日(ISO 8601格式的Unicode)。
每个结果应为以下格式的单个字符串,其中每个<>均由适当转换的值代替:
<>的EmployeeID为<>,并且出生于<> 您提交的内容应与上面给出的格式完全匹配。
我的答案:
SELECT FirstName + ' has an EmployeeID of '
+ STR(EmployeeID) + ' and was born ' +
CONVERT(NVARCHAR(30), BirthDate, 126) FROM dbo.Employees
答案 0 :(得分:1)
str()
左侧用空格填充员工ID。所以:
select '|' + str(1) + '|'
返回:
| 1|
我认为这些空格在结果集中是不理想的。简单地转换为字符串通常就足够了:
convert(varchar(255), EmployeeId)
此外,生日的时间可能是不可取的,所以我只使用日期部分:
CONVERT(NVARCHAR(10), BirthDate, 126)
答案 1 :(得分:0)
SELECT FirstName,'EmployeeID为'+ STR(EmployeeID)+',并且出生于'+ 来自dbo.Employees的CONVERT(NVARCHAR(30),BirthDate,126)