create table useroperate
(Cid char(20) not null,
Operate char(10) not null,
Stime datetime not null,
money int,
TransCid char(20),
Success char(10) not null,
Operater varchar(12)
)
现给出字符型数据.如"2006年11月14日 22时01分16秒"
应该怎样使表中的Stime类型的数据与该字符想匹配.
如select * from useroperate where Stime =……
也就是根据该字符串的时间显示出表中其它字段的值.

解决方案 »

  1.   

    select * from useroperate where 
           substring(convert(varchar(20) , Stime , 120),1,4) 
           + '年' + 
           substring(convert(varchar(20) , Stime , 120),6,2)
           + '月' + 
           substring(convert(varchar(20) , Stime , 120),9,2)
           + '日' + 
           + ' ' + 
           substring(convert(varchar(20) , Stime , 120),12,2)
           + '时' + 
           substring(convert(varchar(20) , Stime , 120),15,2)
           + '分' + 
           substring(convert(varchar(20) , Stime , 120),18,2)
           + '秒' 
           = '2006年11月14日 22时01分16秒'
      

  2.   

    select * from useroperate where convert(char(19),Stime,120) = replace(replace(replace(replace(replace(replace('2006年11月14日 22时01分16秒','年','-'),'月','-'),'日',''),'时',':'),'分',':'),'秒','')