zoukankan      html  css  js  c++  java
  • SQL中CONVERT转化函数的用法

    CONVERT的使用方法:

    ////////////////////////////////////////////////////////////////////////////////////////

    格式:
    CONVERT(data_type,expression[,style])

    说明:
    此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
    相互转换的时候才用到.

    例子:
    SELECT CONVERT(varchar(30),getdate(),101) now
    结果为
    now
    ---------------------------------------
    09/15/2001

    /////////////////////////////////////////////////////////////////////////////////////

    style数字在转换时间时的含义如下

    -------------------------------------------------------------------------------------------------
    Style(2位表示年份) | Style(4位表示年份) | 输入输出格式
    -------------------------------------------------------------------------------------------------
    - | 0 or 100 | mon dd yyyy hh:miAM(或PM)
    -------------------------------------------------------------------------------------------------
    1 | 101 | mm/dd/yy
    -------------------------------------------------------------------------------------------------
    2 | 102 | yy-mm-dd
    -------------------------------------------------------------------------------------------------
    3 | 103 | dd/mm/yy
    -------------------------------------------------------------------------------------------------
    4 | 104 | dd-mm-yy
    -------------------------------------------------------------------------------------------------
    5 | 105 | dd-mm-yy
    -------------------------------------------------------------------------------------------------
    6 | 106 | dd mon yy
    -------------------------------------------------------------------------------------------------
    7 | 107 | mon dd,yy
    -------------------------------------------------------------------------------------------------
    8 | 108 | hh:mm:ss
    -------------------------------------------------------------------------------------------------
    - | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)
    -------------------------------------------------------------------------------------------------
    10 | 110 | mm-dd-yy
    -------------------------------------------------------------------------------------------------
    11 | 111 | yy/mm/dd
    -------------------------------------------------------------------------------------------------
    12 | 112 | yymmdd
    -------------------------------------------------------------------------------------------------
    - | 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24小时制)
    -------------------------------------------------------------------------------------------------
    14 | 114 | hh:mi:ss:mmm(24小时制)
    -------------------------------------------------------------------------------------------------
    - | 20 or 120 | yyyy-mm-dd hh:mi:ss(24小时制)
    -------------------------------------------------------------------------------------------------
    - | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制)
    -------------------------------------------------------------------------------------------------

    在SQL中使用convert 函数进行日期的查询

    曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime (参数@PublishTimeyyyy-mm-dd格式)语句进行查询将无法得到正确结果,比如我们要查询2004121日的会议信息,在输入2004-12-01时就不能得到查询结果,而这种查询又不能要求输入具体的hh:mm:ss.

        此时我们需要使用convert函数,它可以将一种数据类型的表达式转换为另一种数据类型的表达式.此处我们先将数据库内的datetime类型转换为char类型,由于输入的参数是10位的,所以写成

     select * from Meeting where convert(varchar(10),PublishTime,121))=@PublishTime,这样在查询时数据库得到参数后先自动将数据库内的信息转换为yyyy-mm-dd格式的10位字符,只要与参数相同即可返回查询结果.convert中的121是指将datetime类型转换为char类型时获得包括世纪位数的4位年份。

    或者用CONVERT(DATETIME, PublishTime, 112)
  • 相关阅读:
    P2676 超级书架
    P2955 [USACO09OCT]奇数偶数Even? Odd?
    P1554 梦中的统计
    P2614 计算器弹琴
    4246 奶牛的身高
    Render2
    @viewChild
    querySelector
    ionic4封装样式原理
    事件委托和事件冒泡
  • 原文地址:https://www.cnblogs.com/binlyzhuo/p/1250500.html
Copyright © 2011-2022 走看看