sql 如何取日期中的年月

上周,学SQL的朋友问我如何使用函数过滤特定日期的数据。
我教他如何使用CONVERT函数,他说他明白了。
例如,如果他想查找 2 008 年 1 2 月 1 5 日的记录,他可以键入 select from tablename where Convert(varchar(1 0), datefield, 1 2 0) = '2 008 -1 2 -1 5 '。
接下来他问我如何获取当前日期的年月日。
我教他如何使用 GETDATE() 函数,然后格式化输出。
例如,选择 CONVERT(varchar(1 00),GETDATE(),2 3 ) 可输出当前日期,例如 2 01 7 -03 -06 他还想知道如何获取年份和月份,所以我说使用 CONVERT(varchar(7 ),GETDATE(),1 2 0),结果是 2 01 7 -03 听完之后,他似乎明白了一些,但我只是想到了另一件事,那就是SQL中有数据查询语言(DQL)和数据操作语言(DML)等六个部分,但他可能还要重新学习这个。
忘记它,你明白了。

sql如何取日期中的年月

让我告诉你是什么让我印象深刻。
去年之前,我在上海做一个ERP系统。
他们使用SQL来查询数据库,这真是令人头疼。
你是在告诉 CONVERT(varchar(1 00),GETDATE(),2 3 ) 这个,对吗?因此,这将为您提供完整的表单,例如“2 01 5 -08 -1 2 ”。
还有一次,想要获取年份和月份,但是GETDATE()的结果是2 3 ,缺少varchar(7 ),直接报错,说格式不匹配。
最后我请小伙子改成convert(varchar(7 ),GETDATE(),1 2 0)。
这是正确的,“2 01 5 -08 ”就出来了。
你看,你很注意这些细节。

顺便问一下,DQL 或 DML 是什么意思?当我向客户解释许可证时,客户询问他们是否需要学习这一点。
我说不是,我只是让备份的家伙做了一个简单的SELECT FROM table WHERE date='2 02 0-01 ',这样客户就明白了。
他们从事业务,没有时间记住那些复杂的分类。