求一条SQL语句**关于字符串**
select count(czp.xx) as line,count(distinct czp.czpid) as xc from czp,czplb where convert(datetime, '2006- '+convert(char(2),czplb.js_mon)+ '- '+convert(char(2),czplb.js_day)+ ' '+convert(char(2),czplb.js_hour)+ ': '+convert(char(2),czplb.js_min))> =convert(datetime, ' "+year1+ " '+ ' "+yue1+ " '+ '- '+ ' "+ri1+ " '+ ' '+ ' "+shi1+ " '+ ': '+ ' "+fen1+ " ')
这个是一条我正常用的SQL语句,其中的2006是我固定写的,也就是2006年都好用,现在已经2007年了,所以那里就应该换成数据库中的czpid中的前四位,我这样改的:
select count(czp.xx) as line,count(distinct czp.czpid) as xc from czp,czplb where convert(datetime,convert(char(4),right(czplb.czpid,4))+ '- '+convert(char(2),czplb.zx_mon)+ '- '+convert(char(2),czplb.zx_day)+ ' '+convert(char(2),czplb.zx_hour)+ ': '+convert(char(2),czplb.zx_min))> =convert(datetime, ' "+year1+ " '+ ' "+yue1+ " '+ '- '+ ' "+ri1+ " '+ ' '+ ' "+shi1+ " '+ ': '+ ' "+fen1+ " ')
这样改过之有一运行就报错:datetime 错误!
请帮忙!!!!!!!!!!!!!
****重点是就取出数据库中一列数据的前四位,完成datetime函数*****
等中!~!~!~!~!~!~!~!~!~!~!~!~!~!~
------解决方案--------------------select count(czp.xx) as line,count(distinct czp.czpid) as xc from czp,czplb where convert(datetime,convert(char(4),right(czplb.czpid,4))+ '- '+convert(char(2),czplb.zx_mon)+ '- '+convert(char(2),czplb.zx_day)+ ' '+convert(char(2),czplb.zx_hour)+ ': '+convert(char(2),czplb.zx_min))> =convert(datetime, ' "+year1+ " '+ '- '+ ' "+yue1+ " '+ '- '+ ' "+ri1+ " '+ ' '+ ' "+shi1+ " '+ ': '+ ' "+fen1+ " ')
看可不可以呢???
------解决方案--------------------select count(czp.xx) as line,count(distinct czp.czpid) as xc from czp,czplb
where cast(right(czplb.czpid,4)+ '- '+cast(czplb.js_mon as varchar)+ '- '+cast(czplb.js_day as varchar)+ ' '+cast(czplb.js_hour as varchar)+ ': '+cast(czplb.js_min as varchar) as datetime)> =convert(datetime, ' "+year1+ " '+ ' "+yue1+ " '+ '- '+ ' "+ri1+ " '+ ' '+ ' "+shi1+ " '+ ': '+ ' "+fen1+ " ')
------解决方案--------------------先试试如下语句是否有问题:
select convert(datetime,right(czplb.czpid,4)+ '- '+convert(char(2),czplb.zx_mon)+ '- '+convert(char(2),czplb.zx_day)+ ' '+convert(char(2),czplb.zx_hour)+ ': '+convert(char(2),czplb.zx_min))
from czplb