Ⅰ sql日期賦值
create table #Test
(
times datetime not null ,
nexttime datetime not null
)
go
create proc prco_insertTime
(
@insertTime datetime
)
as
set nocount on
insert #Test (times,nexttime)--times,月初時間 nexttime 月末時間
select @insertTime,dateadd(day,-1,dateadd(mm,1, @insertTime))
go
exec prco_insertTime '2009-8-1 '
select * from #Test
declare @Test table
(
times datetime not null ,
nexttime datetime
)
declare @insertTime datetime
set @insertTime ='2009-8-1'
insert @Test (times)--times,月初時間 nexttime 月末時間
select @insertTime
update @Test set nexttime = dateadd(day,-1,dateadd(mm,1, times)) where times=@insertTime
select * from @Test
Ⅱ SQL 如何設置時間為0點到8點 設置為上一天時間 其餘時間段 保存真實值
可以用case when 語句。
ORACLE寫法如下(假設時間欄位為dt):
SELECTCASEWHENdt-TRUNC(dt)between0and8/24thenTRUNC(dt)-1/24
ELSEdt
END
FROMTABLE
INSERT與UPDATE寫法類似。
Ⅲ 求SQL大神給寫一個按時間分段的SQL
你這個我覺得類似於,按月分組,按周 按年對數據進行分組,你應該使用系統函數對數據的日期先進性編輯,然後再group by
按月對數據分組的方法
看一下這個是否符合您的要求,如有疑問,及時溝通!
Ⅳ sql 時間段問題謝謝!
建資料庫的時候就將日期欄位設置為nvarchar,查詢的時候將控制項裡面的值轉換為字元串按照樓上的方法查詢就可以了,在保存的時候將值格式化後再保檔襪存到資料庫,以後這樣在表格裡面日期顯示的就會很整齊,行拍激比較美觀一賀山些。
Ⅳ SQL語句時間段問題
SQL時間段查詢 :
ACCESS
select * from table where date1<#2008-1-20# and date2>#2007-8-30#
MYSQL
select * from table where date1<'2008-1-20' and date2>'2007-3-30'
也可以 :
select * from table where date1 between '2008-1-20' and '2007-3-30'
其中date1,date2都是日期類型的欄位。
SQL時間型查詢語句:
2007年12月04日 星期二 13:54
select * from jy_jjgl a ,jy_jygl b where convert(varchar(10),a.shtime,120)='2007-11-27'
1.顯示本月第一天
SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)
select convert(datetime,convert(varchar(8),getdate(),
120)+'01',120)
2.顯示本月最後一天
select dateadd(day,-1,convert(datetime,convert
(varchar(8),dateadd(month,1,getdate()),120)+'01',120))
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))
3.上個月的最後一天
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))
4.本月的第一個星期一i
select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(
day,getdate()),getdate())),0)
5.本年的第一天
SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0)
6.本年的最後一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))
7.去年的最後一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))
8.本季度的第一天
SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)
9.本周的星期一
SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)
10.查詢本月的記錄
select * from tableName where DATEPART(mm, theDate)
=DATEPART(mm, GETDATE()) and DATEPART(yy, theDate)
= DATEPART(yy, GETDATE())
11.查詢本周的記錄
select * from tableName where DATEPART(wk, theDate) = DATEPART
(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
12查詢本季的記錄 註:其中:GETDATE()是獲得系統時間的函數。
select * from tableName where DATEPART(qq, theDate) = DATEPART
(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
13.獲取當月總天數:
select DATEDIFF(dd,getdate(),DATEADD
(mm, 1, getdate()))
select datediff(day,
dateadd(mm, datediff(mm,'',getdate()), ''),
dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))
14.獲取當前為星期幾
DATENAME(weekday, getdate())
Ⅵ SQL語句添加時間段
oracle下空陪的寫法旅顫between to_date('2010-01-01','yyyy-mm-dd'斗鎮蠢) and to_date('2010-10-10','yyyy-mm-dd')
Ⅶ sql 求連續時間段
根據給定時間為基準以2小時為劃分,得出一天劃分出的時間段
declare @time varchar(5)
set @time='11:13'
select ltrim(a.number)+right(@time,3) as [劃分結果]
from master..spt_values a with(nolock),master..spt_values b with(nolock)
where a.type='P' and b.type='P'
and a.number>=left(@time,1) and b.number<=24
and a.number+1=b.number
試試這個語句
Ⅷ oracle的sql語句中如何寫時間段
每天晚上6點到第二天早上8點的數據?
按照24小時制,那可以拆分為:18~24;1~8
試試這個:
select * from tbl c
where
( to_char(c.date, 'hh24:mi:ss') >= '18:00:00' and to_char(c.date, 'hh24:mi:ss') <= '24:00:00')
or
( to_char(c.date, 'hh24:mi:ss') >= '01:00:00' and to_char(c.date, 'hh24:mi:ss') <= '08:00:00')
Ⅸ sql 怎樣獲取 時間段
請問a表和b表有關聯欄位嗎?如果有的話就:
select*from表a,表bwherea表關聯欄位=b表關聯欄位andb表時間欄位between'2013-05-01'and'2013-05-30';
Ⅹ sql中,怎樣在自增數列前面加上時間
alter table 表 add 列 int IDENTITY(1,1) NOT NULL 表指的是你要處理的那個表名稱;列指你要添加的列名稱;以上示例添加了一個數據類型為int型的列,自增序列號從1開始,每行增加量為1. 希望對你有所幫助!