Ⅰ sql里确定月份日期问题
没有单一的函数,如果真的想要得到这个值的话,可以用多个函数来获取,以下是可以得到当月日期天数的语句。
SELECT DATEDIFF(day,CAST(CAST(Year(GETDATE()) AS nvarchar) + '-' + CAST(Month(GETDATE()) AS NVARCHAR) + '-01' AS smalldatetime),
DateAdd(m,1,CAST(CAST(Year(GETDATE()) AS nvarchar) + '-' + CAST(Month(GETDATE()) AS NVARCHAR) + '-01' AS smalldatetime))) AS 当月天数
Ⅱ SQL语句 如何取得指定月份的最后一天的日期
你好,以下是获取年,季度,天日期的所有方式:DECLARE @dt datetime
SET @dt=GETDATE()
DECLARE @number int
SET @number=3
--1.指定日期该年的第一天或最后一天
--A. 年的第一天
SELECT CONVERT(char(5),@dt,120)+'1-1'
--B. 年的最后一天
SELECT CONVERT(char(5),@dt,120)+'12-31'
--2.指定日期所在季度的第一天或最后一天
--A. 季度的第一天
SELECT CONVERT(datetime,
CONVERT(char(8),
DATEADD(Month,
DATEPART(Quarter,@dt)*3-Month(@dt)-2,
@dt),
120)+'1')
--B. 季度的最后一天(CASE判断法)
SELECT CONVERT(datetime,
CONVERT(char(8),
DATEADD(Month,
DATEPART(Quarter,@dt)*3-Month(@dt),
@dt),
120)
+CASE WHEN DATEPART(Quarter,@dt) in(1,4)
THEN '31'ELSE '30' END)
--C. 季度的最后一天(直接推算法)
SELECT DATEADD(Day,-1,
CONVERT(char(8),
DATEADD(Month,
1+DATEPART(Quarter,@dt)*3-Month(@dt),
@dt),
120)+'1')
--3.指定日期所在月份的第一天或最后一天
--A. 月的第一天
SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')
--B. 月的最后一天
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')
--C. 月的最后一天(容易使用的错误方法)
SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))
--4.指定日期所在周的任意一天
SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)
--5.指定日期所在周的任意星期几
--A. 星期天做为一周的第1天
SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)
--B. 星期一做为一周的第1天
SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)
Ⅲ sql如何按日期中的月份查询
sql按日期中的月份查询如下:
SQL Server
select * from [data] where DATEPART(m,[date])=2
Access
select * from [data] where DATEPART('m',[date])=2
说明:
DATEPART(datepart,date)
返回表示指定日期的指定部分的整数
datepart 要取得的日期部分
- m 表示月份,d表示日,yyyy表示年
date 日期表达式
举例:
--以2013-12-10 12:56:55为例
--convert(nvarchar(10),CreateDate,120) => 2013-12-10
--DATEPART(month,CreateDate) => 12
--DATEPART(year,CreateDate) => 2013
--月
select datepart(MONTH,'2013-06-08')
select datepart(mm,'2013-06-08')
select datepart(m,'2013-06-08')
(3)sql锁定月份扩展阅读:
相关函数
SQL Aggregate 函数
SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。
有用的 Aggregate 函数:
AVG() - 返回平均值
COUNT() - 返回行数
FIRST() - 返回第一个记录的值
LAST() - 返回最后一个记录的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回总和
SQL Scalar 函数
SQL Scalar 函数基于输入值,返回一个单一的值。
有用的 Scalar 函数:
UCASE() - 将某个字段转换为大写
LCASE() - 将某个字段转换为小写
MID() - 从某个文本字段提取字符
LEN() - 返回某个文本字段的长度
ROUND() - 对某个数值字段进行指定小数位数的四舍五入
NOW() - 返回当前的系统日期和时间
Ⅳ SQL语句获取日期的月份
下面以SQL Server数据库为例,可以用自带函数MONTH获取,sql语句如下:
select MONTH(时间列名) as month from 表名
步骤:
1、创建test1表,并赋值。
获取到年份为“2008”。
Ⅳ sql如何取每月固定日期至某一日期的数据
使用程序控制运行和组成SQL,
每个数据库的日期方法也不同。
Ⅵ sql语句怎么查询指定月份的记录
select * from database where DATEPART(YEAR,date) = 2012 and MONTH(date) = 3
查询年用datapart,月用month,上面的sql语句是查询2012年3月的数据,就是这么简单粗暴
Ⅶ sql搜索指定月份的内容的语句怎么写呢
此句的最大亮点在于将datetime类型的时间转换为varchar(200).
select * from yu where convert(varchar(200),DateTime,120) like '%2009-10%'
如果在datetime的语句中使用like'%2009-10'是查询不到结果的,语法正确结果为空,即使有这个月的记录.