关闭

一些sql语句的详细解释

621人阅读 评论(0) 收藏 举报

转自:http://blog.csdn.net/kgdiwss/archive/2006/05/23/750640.aspx
/*
*注释添加:∮明天去要饭
*/

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.22~05.28
200620                2006年20周                  05.15~05.21
200619                2006年19周                  05.08~05.14
200618                2006年18周                  05.01~05.07
200617                2006年17周                  04.24~04.30
200616                2006年16周                  04.17~04.23
200615                2006年15周                  04.10~04.16
200614                2006年14周                  04.03~04.09
200613                2006年13周                  03.27~04.02
200612                2006年12周                  03.20~03.26


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:397682次
    • 积分:5721
    • 等级:
    • 排名:第4505名
    • 原创:143篇
    • 转载:195篇
    • 译文:0篇
    • 评论:47条