zoukankan      html  css  js  c++  java
  • SQL Server(00):转换格式函数Cast、Convert

      CAST、CONVERT都可以执行数据类型转换。在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日期格式转换,而CAST没有这个功能。

    CAST是ANSI兼容的,推荐使用CONVERT。

    语法

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

    data_type

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

    length

    nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。

    style

    日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);

    数字格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。

    示例

    SELECT 'AB' + 1    --此语句报错,在将 varchar 值 'AB' 转换成数据类型 int 时失败。
    SELECT 'AB' + CONVERT(varchar,1)    --输出 AB1
    SELECT CONVERT(decimal(10,5), 12.3) --输出12.30000
    SELECT 'AB' + CAST(1 AS varchar) --输出 AB1

    CAST和CONVERT都能转换日期:

    SELECT CONVERT(DateTime,'2011-07-11')    --输出 2011-07-11 00:00:00.000
    SELECT CAST('2011-07-11' AS DateTime)    --输出 2011-07-11 00:00:00.000

    CONVERT有更多的样式可选:

    SELECT CONVERT(varchar,GETDATE(),5)    --输出 01-07-13
    SELECT CONVERT(varchar,GETDATE(),111)  --输出 2013/07/01
    SELECT CONVERT(varchar,GETDATE(),1)    --输出 07/01/13
    
    SELECT CAST(GETDATE() AS varchar)    --输出 07 1 2013 9:56PM 

    转化为日期格式

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

    *    默认值(style0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。

  • 相关阅读:
    41.用c++编写程序:从键盘上任意输20个1-99之间的整数,分别统计其个位数0-9的数字各有多少
    【编程规范整理】
    CI/CD----jenkins+gitlab+django(内网)
    tomcat访问日志
    Django + celery +redis使用
    CI/CD----jenkins安装配置
    linux 批量删除进程
    django数据查询之聚合查询和分组查询
    django middleware介绍
    git初始化命令行指引
  • 原文地址:https://www.cnblogs.com/springsnow/p/9881041.html
Copyright © 2011-2022 走看看