• 一些sql语句的详细解释


    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

  • 相关阅读:
    字符串,format格式化及列表的相关进阶操作---day07
    利用wiile双层循环打印各种星星---day06
    双层循环练习,pass_break_continue,和for循环---day06
    类型判断,代码块,流程控制及循环---day05
    频繁项集算法
    Unity 物体移动的理解
    Game1---游戏设计
    精读Hadamard Response论文
    java 创建线程
    Unity游戏开发面试基础知识
  • 原文地址:https://www.cnblogs.com/jiangyuxuan/p/843602.html
Copyright © 2020-2023  润新知