• SQL Server中使用convert转化长日期为短日期


    我的代码:

    CONVERT(date,MyDateTime)

    --------------------------------------------------------------------------------------------------------------------------

    一般存入数据库中的时间格式为yyyy-mm-ddhh:mm:ss 如果要转换为yyyy-mm-dd  短日期格式.可以使用convert函数.

    下面是sqlserver帮助中关于convert函数的声明:
    使用 CONVERT:

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

    参数

    expression

    是任何有效的 Microsoft® SQL Server™ 表达式。 一般就是字段名。
    data_type

    目标系统所提供的数据类型,包括bigintsql_variant。不能使用用户定义的数据类型。
    length

    ncharnvarcharcharvarcharbinaryvarbinary数据类型的可选参数

    style

    日期格式样式,借以将datetimesmalldatetime数据转换为字符数据ncharnvarcharcharvarcharncharnvarchar数据类型);或者字符串格式样式,借以将floatrealmoneysmallmoney数据转换为字符数据(ncharnvarcharcharvarcharncharnvarchar数据类型)。

    SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。

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

    不带世纪数位 (yy)

    带世纪数位 (yyyy)


    标准


    输入/输出**

    -

    0 或 100 (*)

    默认值

    mon dd yyyy hh:miAM(或 PM)

    1

    101

    美国

    mm/dd/yyyy

    2

    102

    ANSI

    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 或 109 (*)

    默认值 + 毫秒

    mon dd yyyy hh:mi:ss:mmmAM(或 PM)

    10

    110

    美国

    mm-dd-yy

    11

    111

    日本

    yy/mm/dd

    12

    112

    ISO

    yymmdd

    -

    13 或 113 (*)

    欧洲默认值 + 毫秒

    dd mon yyyy hh:mm:ss:mmm(24h)

    14

    114

    -

    hh:mi:ss:mmm(24h)

    -

    20 或 120 (*)

    ODBC 规范

    yyyy-mm-dd hh:mm:ss[.fff]

    -

    21 或 121 (*)

    ODBC 规范(带毫秒)

    yyyy-mm-dd hh:mm:ss[.fff]

    -

    126(***)

    ISO8601

    yyyy-mm-dd Thh:mm:ss:mmm(不含空格)

    -

    130*

    科威特

    dd mon yyyy hh:mi:ss:mmmAM

    -

    131*

    科威特

    dd/mm/yy hh:mi:ss:mmmAM

    *    默认值(style0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。
    ** 当转换为datetime时输入;当转换为字符数据时输出。
    *** 专门用于 XML。对于从datetimesmalldatetimecharacter数据的转换,输出格式如表中所示。对于从floatmoneysmallmoneycharacter数据的转换,输出等同于style2。对于从realcharacter数据的转换,输出等同于style1。

    重要  默认情况下,SQL Server 根据截止年份 2049 解释两位数字的年份。即,两位数字的年份 49 被解释为 2049,而两位数字的年份 50 被解释为 1950。许多客户端应用程序(例如那些基于 OLE 自动化对象的客户端应用程序)都使用 2030 作为截止年份。SQL Server 提供一个配置选项("两位数字的截止年份"),借以更改 SQL Server 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。

    当从smalldatetime转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从datetimesmalldatetime值进行转换时,可以通过使用适当的charvarchar数据类型长度来截断不需要的日期部分。
    =========================================================================
    如果只要取yyyy-mm-dd格式时间, 就可以用 convert(nvarchar(10),field,120)
    120 是格式代码,  nvarchar(10) 是指取出前10位字符.
    示例:
    SELECT  CONVERT(nvarchar(10), publish_time, 120)  FROM table_name

    转自:http://asdic.iteye.com/blog/354118

  • 相关阅读:
    angular2 UT 导入 jquery问题解决
    css超过指定宽度用...表示
    karma-coverage通过浏览器显示
    angular2复选框及其按钮
    前端分页控制
    input复选框checkbox默认样式纯css修改
    弧形侧边栏
    浅谈软件测试
    随笔1
    java注解小记
  • 原文地址:https://www.cnblogs.com/huangfr/p/2177362.html
Copyright © 2020-2023  润新知