Vin*_*ino 0 sql sql-server dob
如果用户的生日是今天,我想从用户表中获取名称.
用户表
name | date of birth
------+-----------------
name1 | 20/05/1991
name2 | 05/01/1995
name3 | 05/01/1991
Run Code Online (Sandbox Code Playgroud)
如果我提供:05/01/2015作为参数,它应该显示name2和name3.
任何人都可以告诉我通过date参数过滤结果所需的SQL查询.
此查询应该适合您:
SELECT NAME, [DATE OF BIRTH]
FROM TABLE
WHERE DAY([DATE OF BIRTH]) = DAY(GETDATE())
AND MONTH([DATE OF BIRTH]) = MONTH(GETDATE())
Run Code Online (Sandbox Code Playgroud)
这是一个基于您的示例数据的查询的SQLFiddle.
我的初步答案是不正确的,因为如果你正在寻找今天有生日的人(因为生日不依赖于年份,而是月和日),它实际上正在寻找相同的日期GETDATE()与之间的DATE OF BIRTH不正确.
| 归档时间: |
|
| 查看次数: |
13053 次 |
| 最近记录: |