在SQL SERVER 7数据的写法(50分)

  • 主题发起人 主题发起人 sgliutao
  • 开始时间 开始时间
S

sgliutao

Unregistered / Unconfirmed
GUEST, unregistred user!
在SQL SERVER 7数据端,我想用处理这样的情况;即字符串为:2000-08-10,想对上面的数字看作为
日期型,自动减去一天(即边为2000-08-09,如果是2000-09-01则自动变为2000-08-31),则在数据库
端怎么写? 我使用cast(cast(@date as datetime )-1 as char(10))出来的结果是
Aug 9 200!而我想得到2000-08-09!

declare @date char(10)
declare @prev_date char(10)
set @date='2000-08-10'
set @prev_date = cast(cast(@date as Datetime) -1) as char(10))
怎么办 呢?
 
Convert(char(10),@date)
 
使用StrtoDate将字符串转换为日期型减1
再用DateToStr将所得结果转为字符型
 
日期加减 用DateAdd
如Dateadd(day,1,@date)

转换时,用Convert(char(20),@date,20)
注意最后这个20

具体看帮助吧
 
这样就行了
declare @date char(10)
declare @prev_date char(10)
set @date='2000-08-10'
set @prev_date = Convert(char(10),cast(@date as Datetime) -1),20)--这里必须大于20
 
接受答案了.
 
后退
顶部