navicat premium 10(mysql 5.0.91-enterprise-gpl-nt-log)正常语句:
select USER_ID as 姓名, count(*) as 次数, 10-count(*) as 缺勤, (select @begin) as 始于, (select @end) as 终于 from attend_duty
where (DATE_FORMAT(register_time, '%Y-%m-%d') >= @begin && DATE_FORMAT(register_time, '%Y-%m-%d') <= @end)
group by USER_ID
order by 次数;加入set语句后乱码:
set @begin='2012-07-02';
set @end='2012-07-06';
select USER_ID as 姓名, count(*) as 次数, 10-count(*) as 缺勤, (select @begin) as 始于, (select @end) as 终于 from attend_duty
where (DATE_FORMAT(register_time, '%Y-%m-%d') >= @begin && DATE_FORMAT(register_time, '%Y-%m-%d') <= @end)
group by USER_ID
order by 次数;姓名、次数、缺勤、始于、终于,这五个词乱码,其他正常,请教原因,非常感谢。
select USER_ID as 姓名, count(*) as 次数, 10-count(*) as 缺勤, (select @begin) as 始于, (select @end) as 终于 from attend_duty
where (DATE_FORMAT(register_time, '%Y-%m-%d') >= @begin && DATE_FORMAT(register_time, '%Y-%m-%d') <= @end)
group by USER_ID
order by 次数;加入set语句后乱码:
set @begin='2012-07-02';
set @end='2012-07-06';
select USER_ID as 姓名, count(*) as 次数, 10-count(*) as 缺勤, (select @begin) as 始于, (select @end) as 终于 from attend_duty
where (DATE_FORMAT(register_time, '%Y-%m-%d') >= @begin && DATE_FORMAT(register_time, '%Y-%m-%d') <= @end)
group by USER_ID
order by 次数;姓名、次数、缺勤、始于、终于,这五个词乱码,其他正常,请教原因,非常感谢。
乱码的问题,你可以试一下 set names 'gbk';
set @begin='2012-07-02';
set @end='2012-07-06';
set names 'gbk';
select USER_ID as 姓名, count(*) as 次数, 10-count(*) as 缺勤, (select @begin) as 始于, (select @end) as 终于 from attend_duty
where (DATE_FORMAT(register_time, '%Y-%m-%d') >= @begin && DATE_FORMAT(register_time, '%Y-%m-%d') <= @end)
group by USER_ID
order by 次数;
set @begin='2012-07-02';
set @end='2012-07-06 23:59:59';
select USER_ID as `姓名`, count(*) as `次数`, 10-count(*) as `缺勤`, @begin as `始于`, @end as `终于` from attend_duty
where register_time between @begin and @end
group by USER_ID
order by `次数`;