SQL 查询 GETGATE() 和 DATEPART 格式

标签 sql sql-server

实现数据库的个人,设置日期列格式 = 'MONTH, YEAR"

示例“2017 年 12 月”

为了自动查询,我需要将日期作为参数传递给 where 子句。

因此,我开始使用 DATE 函数。有没有办法将 DATEPART 从整数转换为完整的月份名称?

 DECLARE @dtDate DATE
 DECLARE @dtMonth varchar(50)
 DECLARE @dtYear varchar(50)

 SET @dtDate = GETDATE();
 SET @dtMonth = convert(varchar, DATEPART(mm, @dtDate))
 SET @dtYear = convert(varchar, DATEPART(yyyy, @dtDate))

最佳答案

只需使用日期名称

declare @dtDate datetime = '2017-01-01'
declare @dtMonth nvarchar(10)
SET @dtMonth = datename(month, @dtDate)
print @dtMonth

Output:January

关于SQL 查询 GETGATE() 和 DATEPART 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47912165/

相关文章:

sql - 为什么 SQL 全文查询在执行 OR 时会变慢?

java - NullPointerException - 使用 Java 执行 SQL

html - 创建 HTML 表并使用 SQL FOR XML 指定字体大小

用于生成字母数字字符串中的下一个序列的 SQL 代码

python - 防止 SQLAlchemy 自动设置 IDENTITY_INSERT

c# - 如何按 SQL 中拼写错误的记录进行分组

.net - linq to sql将这个查询翻译成: "select *"?格式是不是效率低下

mysql查询在多行中找到多个值?

sql-server - 在连接关闭的情况下在 SQL Server 上保持事务打开

sql - 来自三个表的一个更新 SQL 查询