技术开发 频道

一些SQL语句的详细解释

    【IT168 技术文档】

/* *注释添加:∮明天去要饭 */ SELECT /* * 输出格式: x年x周 * 如:200621 */ Convert(varchar(4),intYear) + /* 先将intYear列转成字符型 */ case when len(intWeek)=1 /* 判断intWeek列的长度是否为1 */ then '0' + Convert(varchar(1),intWeek) /* intWeek列为1位数字时转化成两位字符,最前面补0 */ else Convert(varchar(2),intWeek) /* 如果是两位则直接转成字符 */ end as allYearWeek, /* 给列取别名allYearWeek */ /* * 输出格式: xxxx年xx周 * 如:2006年21周 */ Convert(varchar(4),intYear) + '' + case when len(intWeek)=1 then '0'+ Convert(varchar(1),intWeek) else Convert(varchar(2),intWeek) end + '' as DesYearWeek , /* * 输出格式:x月x日~x月x日 * 如: 05.22~05.28 */ right(replace(strWeekBeginDate,'-','.'),5) + /* 先把替换为".",然后再取右边5位 */ '' + right(replace(strWeekEndDate,'-','.'),5) as DesDate FROM V_GetAllWeeks order by intYear Desc, intWeek Desc 输出结果: allYearWeek DesYearWeek DesDate 200621 2006年21周 05.2205.28 200620 2006年20周 05.1505.21 200619 2006年19周 05.0805.14 200618 2006年18周 05.0105.07 200617 2006年17周 04.2404.30 200616 2006年16周 04.1704.23 200615 2006年15周 04.1004.16 200614 2006年14周 04.0304.09 200613 2006年13周 03.2704.02 200612 2006年12周 03.2003.26
0
相关文章