sql - 根据缩写 (Oct) SQL Server 显示当前月份值

标签 sql sql-server tsql date where-clause

<分区>

我目前正在处理一个如下所示的表格:

PersonID    Month
    1       Dec
    2       Jan
    3       Oct
    4       Oct
    5       Jan
    6       Feb

我想选择月份等于今天月份的行。因此,例如,对于本月,我想要所有等于十月的行,但显然这显示为“十月”。无论如何我可以做到这一点吗?

期望的输出

PersonID    Month
    3       Oct
    4       Oct

我想也许是

SELECT *,
CASE WHEN Month = 'Oct'
THEN '01-10-17'
ELSE 'N/A' END AS [Date]

FROM Person

WHERE Month([Date]) = Month(getdate())

但我不确定这个逻辑是否可靠。

SQL - http://sqlfiddle.com/#!9/a3f33/1

最佳答案

你可以使用:

SELECT *
FROM Person
WHERE FORMAT(GETDATE(), 'MMM') = Month;

Rextester Demo

备注:

关于sql - 根据缩写 (Oct) SQL Server 显示当前月份值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46851803/

相关文章:

sql-server - 升级到 IIS 7 时的 Unicode

mysql - 在 MSSQL 和 mySQL 中获取所有表及其数据

sql - TSQL错误检查代码不起作用

mysql - sql 从 'EXISTS' 语句中获取列

sql - Mysql4 : SQL for selecting one or zero record

c# - “逆向工程”模型优先 - 删除表和列前缀

sql-server - TSql 根据分区和行号返回列

php - MySQL 查询,获取 user_ID,然后获取 Restaurant_ID,然后从与用户表中的电子邮件匹配的 3 个表中获取 restaurantName

sql - Microsoft SQL Server 数据工具包未正确加载

sql - 如何正确查询值可以在一列或另一列中的表