如何从表格tblworkers显示从06.06开始的第一个生日的员工的姓氏,名字,生日?

时间:2014-06-07 00:25:50

标签: sql-server-2008

如何从表格tblworkers显示从06.06开始的第一个生日的员工的姓氏,名字,生日?我应该使用convert命令[convert(varchar(5),birthdate,104)]

SELECT Surname, Name, CONVERT(VARCHAR(5), Birthdate, 104) AS 'Brd' FROM tblworkers WHERE MONTH (Birthdate) > MONTH (06) AND DAY (Birthdate) > DAY (06) ORDER BY 'Brd';< - 不工作,任何解决方案?请帮忙

2 个答案:

答案 0 :(得分:0)

不确定这是否是惯用的最佳方式 - 我怀疑不是,但我使用的一种方法是按顺序重复按顺序转换:

SELECT Surname, Name, CONVERT(VARCHAR(5), Birthdate, 104) AS 'Brd'
FROM tblworkers
WHERE MONTH (Birthdate) > MONTH (06)
AND DAY (Birthdate) > DAY (06)
ORDER BY CONVERT(VARCHAR(5), Birthdate, 104);

答案 1 :(得分:0)

为什么要在varchar上订购数据?它将根据字符而不是按日期对数据进行排序,而只是 ORDER BY Birthdate

SELECT Surname, 
       Name, 
       CONVERT(VARCHAR(5), Birthdate, 104) AS 'Brd' 
FROM tblworkers 
WHERE MONTH (Birthdate) > MONTH (06) 
AND DAY (Birthdate) > DAY (06) 
ORDER BY Birthdate;