Ⅰ 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'是查詢不到結果的,語法正確結果為空,即使有這個月的記錄.