zoukankan      html  css  js  c++  java
  • 一句SQL语句的几点解释

    select

    DueTime=case [PayMentTypeChildSNO] when '0' then (case ProductTypeSNO when '9' then CONVERT(varchar(20),DATEADD(day,30,ProductPurchase.CreateTime),120)/** 整套电视剧**/ else CONVERT(varchar(20),DATEADD(day,3,ProductPurchase.CreateTime),120)/**电影记录片**/ end)  else CONVERT(varchar(20),DATEADD(day,3,ProductPurchase.CreateTime),120)/** 电视剧单集**/  endfrom ProductPurchase

     

    对于上面的一段SQL语句,其中有几个关键字的用法描述如下:

    1、  DATEADD

    通过向指定日期添加间隔,返回新的 datetime 值。语法:DATEADD ( datepart , number, date )

    举例:SELECT DATEADD(day, 21, pubdate) AS timeframe,在pubdate上增加21天。

    2、  Case中嵌套一个Case

    Case... when * then (/**嵌套一个Case**/ Case... when * then * else * end) else * end

    3、  CONVERT

    将某种数据类型的表达式显式转换为另一种数据类型。语法:

    CONVERT (data_type[(length)], expression [, style])

    其中style

    日期格式样式,借以将 datetime smalldatetime 数据转换为字符数据(ncharnvarcharcharvarcharnchar nvarchar 数据类型);或者字符串格式样式,借以将 floatrealmoney smallmoney 数据转换为字符数据(ncharnvarcharcharvarcharnchar nvarchar 数据类型)。

    在表中,左侧的两列表示将 datetime smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。(见联机帮助中的图)

    举例:CONVERT(varchar(20),DATEADD(day,3,CreateTime),101)

    转换前:2006-12-18 14:28:48.000

    转换后:12/21/2006(美国标准时间)

     

    详细信息搜索《SQL联机帮助》

  • 相关阅读:
    14_java之变量|参数|返回值|修饰符
    NYOJ 202 红黑树 (二叉树)
    NYOJ 138 找球号(二) (哈希)
    NYOJ 136 等式 (哈希)
    NYOJ 133 子序列 (离散化)
    NYOJ 129 树的判定 (并查集)
    NYOJ 117 求逆序数 (树状数组)
    NYOJ 93 汉诺塔 (数学)
    HDU 2050 折线分割平面 (数学)
    天梯赛L2-008 最长对称子串 (字符串处理)
  • 原文地址:https://www.cnblogs.com/xp/p/1005595.html
Copyright © 2011-2022 走看看