sql日期設定為某日

2023-01-19 23:30:21 字數 4757 閱讀 7862

1樓:匿名使用者

create table 銷售(

城市 char(10) not null,

產品 char(10) not null,

單價 float not null,

數量 int not null,

時間 datetime not null

)-----2023年

insert into 銷售 values ('成都','冰箱',1800,3,'2006-01-24')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-01-25')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-01-26')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-01-27')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-01-28')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-01-29')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-01-30')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-01-31')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-02-1')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-02-2')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-02-3')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-02-23')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-02-24')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-02-25')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-02-26')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-02-27')

insert into 銷售 values ('成都','冰箱',1800,3,'2006-02-28')

--2023年

insert into 銷售 values ('成都','冰箱',1800,3,'2007-01-24')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-01-25')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-01-26')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-01-27')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-01-28')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-01-29')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-01-30')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-01-31')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-02-1')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-02-2')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-02-3')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-02-23')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-02-24')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-02-25')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-02-26')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-02-27')

insert into 銷售 values ('成都','冰箱',1800,3,'2007-02-28')

--儲存過程

create proc xiaoshou @year varchar(10),@month varchar(10)

asselect * from 銷售 where

( datepart(year,convert(varchar(10),時間,121))=@year

and datepart(month,convert(varchar(10),時間,121))=@month

and datepart(day,convert(varchar(10),時間,121))<=27 )

or (( datepart(year,convert(varchar(10),時間,121))+1)=@year

and datepart(month,convert(varchar(10),時間,121))=@month

and datepart(day,convert(varchar(10),時間,121))<=27 )

or ( datepart(year,convert(varchar(10),時間,121))=@year

and (datepart(month,convert(varchar(10),時間,121))+1)=@month

and datepart(day,convert(varchar(10),時間,121))>=26 )

or (( datepart(year,convert(varchar(10),時間,121))+1)=@year

and (datepart(month,convert(varchar(10),時間,121))+1)=@month

and datepart(day,convert(varchar(10),時間,121))>=26 )

order by right(convert(varchar(10),時間,121),5)

--儲存查詢 修改後面的年、月。如這個地方就是2023年,2月。這個地方年度對比,輸入2023年

--就是作為今年。

execute xiaoshou 2007,2

*********查詢結果********

成都 冰箱 1800.0 3 2006-01-26

成都 冰箱 1800.0 3 2007-01-26

成都 冰箱 1800.0 3 2007-01-27

成都 冰箱 1800.0 3 2006-01-27

成都 冰箱 1800.0 3 2006-01-28

成都 冰箱 1800.0 3 2007-01-28

成都 冰箱 1800.0 3 2007-01-29

成都 冰箱 1800.0 3 2006-01-29

成都 冰箱 1800.0 3 2006-01-30

成都 冰箱 1800.0 3 2007-01-30

成都 冰箱 1800.0 3 2007-01-31

成都 冰箱 1800.0 3 2006-01-31

成都 冰箱 1800.0 3 2006-02-01

成都 冰箱 1800.0 3 2007-02-01

成都 冰箱 1800.0 3 2007-02-02

成都 冰箱 1800.0 3 2006-02-02

成都 冰箱 1800.0 3 2006-02-03

成都 冰箱 1800.0 3 2007-02-03

成都 冰箱 1800.0 3 2007-02-23

成都 冰箱 1800.0 3 2006-02-23

成都 冰箱 1800.0 3 2006-02-24

成都 冰箱 1800.0 3 2007-02-24

成都 冰箱 1800.0 3 2007-02-25

成都 冰箱 1800.0 3 2006-02-25

成都 冰箱 1800.0 3 2006-02-26

成都 冰箱 1800.0 3 2007-02-26

成都 冰箱 1800.0 3 2007-02-27

成都 冰箱 1800.0 3 2006-02-27

----以上**可以在查詢分析器中執行。累死了!

***********

補充select 城市,產品,單價,數量,convert(varchar(10),時間,121)as 時間

這個地方就把時間轉換了,後面就可以省去相應轉換,提高效率.

sql日期格式轉換

到sql server2005資料管理系統中把日期的顯示方式有多種,你可以到系統中把日期設定成yyyy mm dd格式儲存 舉例如下 select convert varchar 10 getdate 120 2006 05 12 select convert varchar,getdate 120...

sql中日期函式的用法,sql 中Dateadd()函式的用法

1.dateadd i n d 將一個日期加上一段期間後的日期。i 設定一個日期 date 所加上的一段期間的單位。譬如 interval d 表示 n的單位為日。i的設定值如下 yyyy year 年 q quarter 季 m month 月 d day 日 w weekday 星期 h hou...

真正懂SQL計算日期的進

select tmp.dt 7 startdt,tmp.dt enddt from select rownum rn,to char sysdate rownum,day xq,sysdate rownum dt from dual connect by rownum 8 tmpwhere tmp....