精华内容
下载资源
问答
  • CONVERT和cast用法

    2010-08-14 17:02:15
    SELECT CAST(CONVERT(CHAR(10),CURRENT_TIMESTAMP,102) AS DATETIME
  • MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:   Sql代码  CAST(value as type);  CONVERT(value, type);   就是CAST(xxx AS ...

    MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:

     

    Sql代码   收藏代码
    1. CAST(value as type);  
    2. CONVERT(value, type);  

     就是CAST(xxx AS 类型), CONVERT(xxx,类型)。

    Sql代码   收藏代码
    1. mysql> SELECT CAST('3.35' AS signed);  
    2. +------------------------+  
    3. CAST('3.35' AS signed) |  
    4. +------------------------+  
    5. |                      3 |  
    6. +------------------------+  
    7. 1 row in set  

     可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

        二进制,同带binary前缀的效果 : BINARY    
        字符型,可带参数 : CHAR()     
        日期 : DATE     
        时间: TIME     
        日期时间型 : DATETIME     
        浮点数 : DECIMAL      
        整数 : SIGNED     
        无符号整数 : UNSIGNED 

    下面举几个例子:

    例一

     

     

    Sql代码   收藏代码
    1. mysql> SELECT CONVERT('23',SIGNED);  
    2. +----------------------+  
    3. CONVERT('23',SIGNED) |  
    4. +----------------------+  
    5. |                   23 |  
    6. +----------------------+  
    7. 1 row in set  

     

     

    例二

     

    Sql代码   收藏代码
    1. mysql> SELECT CAST('125e342.83' AS signed);  
    2. +------------------------------+  
    3. CAST('125e342.83' AS signed) |  
    4. +------------------------------+  
    5. |                          125 |  
    6. +------------------------------+  
    7. 1 row in set  

     

     

    例三

    Sql代码   收藏代码
    1. mysql> SELECT CAST('3.35' AS signed);  
    2. +------------------------+  
    3. CAST('3.35' AS signed) |  
    4. +------------------------+  
    5. |                      3 |  
    6. +------------------------+  
    7. 1 row in set  

     

    像上面例子一样,将varchar 转为int 用 cast(a as signed),其中a为varchar类型的字符串。

    展开全文
  • convert是日期格式化函数 cast是将目的数据类型转化为基本数据类型 在工作中有这么个需求,星期一到星期五开三个房间,星期六到星期日再增加两个房间,月末再增加一个房间 SET ANSI_NULLS ON GO SET QUOTED_...

    convert是日期格式化函数

    cast是将目的数据类型转化为基本数据类型

    在工作中有这么个需求,星期一到星期五开三个房间,星期六到星期日再增加两个房间,月末再增加一个房间


    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    go
    --创建定时赛自动开启作业
    create procedure ContestTask
    as
    begin
    set nocount on
    declare @_weekday int --星期几
    declare @_currentdate datetime--当前时间
    declare @_currentYMD varchar(20)--当前年月日
    declare @_room_char varchar(50)
    declare @_room_datatime datetime--房间时间
    declare @_month_last datetime--本月的最后一天
    set @_currentdate=getdate()--获得当前时间
    set @_weekday=datepart(dw,@_currentdate) 
    select @_currentYMD=CONVERT(varchar(20),@_currentdate, 23)--获得年月日
    select @_month_last=DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@_currentdate),120)+'1')--获取本月最后一天
    if @_weekday>=2 and @_weekday<=6--周一到周五(开三个房间)
    begin
    	set @_room_char=@_currentYMD+' 18:00:00'--设置房间1时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=1
    	set @_room_char=@_currentYMD+' 19:00:00'--设置房间2时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=2
    	set @_room_char=@_currentYMD+' 20:00:00'--设置房间3时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=3
    end
    if @_weekday=1 or @_weekday=7--周六,周日(开五个房间)
    begin
    	set @_room_char=@_currentYMD+' 18:00:00'--设置房间1时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=1
    	set @_room_char=@_currentYMD+' 19:00:00'--设置房间2时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=2
    	set @_room_char=@_currentYMD+' 20:00:00'--设置房间3时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=3
    	set @_room_char=@_currentYMD+' 16:00:00'--设置房间4时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=4
    	set @_room_char=@_currentYMD+' 17:00:00'--设置房间5时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=5
    end
    if DATEDIFF(d,@_currentdate,@_month_last)=0--月末(开六个房间)
    begin
    	set @_room_char=@_currentYMD+' 18:00:00'--设置房间1时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=1
    	set @_room_char=@_currentYMD+' 19:00:00'--设置房间2时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=2
    	set @_room_char=@_currentYMD+' 20:00:00'--设置房间3时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=3
    	set @_room_char=@_currentYMD+' 16:00:00'--设置房间4时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=4
    	set @_room_char=@_currentYMD+' 17:00:00'--设置房间5时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=5
    	set @_room_char=@_currentYMD+' 20:00:00'--设置房间6时间
    	select @_room_datatime=CAST(@_room_char as datetime)
    	update TContestInfo set StartTime=@_room_datatime where ContestID=6
    end
    end
    
    展开全文
  • sql 中convert和cast区别

    2016-12-31 21:54:00
    SQL中的cast和convert用法和区别 更多 2014/1/13 来源:SQL学习浏览量:14125 学习标签: cast convert sql 本文导读:SQL中的cast 和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。...
    SQL中的cast和convert的用法和区别
    更多 2014/1/13 来源:SQL学习浏览量:14125
    学习标签: cast convert sql
    本文导读:SQL中的cast 和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。CASTCONVERT 提供相似的功能,只是语法不同。在时间转化中一般用到convert,因为它比cast多加了一个style,可以转化成不同时间的格式。
    一、语法:
     
    1、使用 CAST
    
      CAST ( expression AS data_type )
    
    
    2、使用 CONVERT
    
      CONVERT (data_type[(length)], expression [, style])
    
    
    3、参数说明
    
      expression
    
      是任何有效的表达式。
    
      data_type:
    
      目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。
    
      length
    
      ncharnvarcharcharvarcharbinaryvarbinary 数据类型的可选参数。
    
      style
    
      日期格式样式,借以将 datetimesmalldatetime 数据转换为字符数据(ncharnvarcharcharvarcharncharnvarchar 数据类型);或者字符串格式样式,借以将 floatrealmoneysmallmoney 数据转换为字符数据(ncharnvarcharcharvarcharncharnvarchar 数据类型)。
     
    二、cast和convert的代码示例
     
    SQL 代码   复制
    
    select CAST('123' as int)   -- 123
     
    select CONVERT(int, '123')  -- 123
     
     
     
    select CAST(123.4 as int)   -- 123
     
    select CONVERT(int, 123.4)  -- 123 
    convert前面也可以只加上数据类型 
    select Convert(int,0xF) ---15
    select CAST('123.4' as int) select CONVERT(int, '123.4') -- Conversion failed when converting the varchar value '123.4' to data type int. select CAST('123.4' as decimal) -- 123 select CONVERT(decimal, '123.4') -- 123  select CAST('123.4' as decimal(9,2)) -- 123.40 select CONVERT(decimal(9,2), '123.4') -- 123.40 declare @Num money set @Num = 1234.56 select CONVERT(varchar(20), @Num, 0) -- 1234.56 select CONVERT(varchar(20), @Num, 1) -- 1,234.56 select CONVERT(varchar(20), @Num, 2) -- 1234.5600


    declare @i float
    set @i=11134.13409890890765656
    select CONVERT (varchar(40),@i,0)
    , CONVERT (varchar(40),@i,1)
    , CONVERT (varchar(40),@i,2)
    ---------------------------------------- ---------------------------------------- ----------------------------------------
    11134.1 1.1134134e+004 1.113413409890891e+004

     
      

    三、convert函数的style参数说明

     
      

     

     
      

    1、Date 和 Time 样式

     
      

     

     
      
    不带世纪数位 (yy)带世纪数位 (yyyy)输入/输出
    -0 或 100mon dd yyyy hh:miAM(或 PM)
    11011 = mm/dd/yy

    101 = mm/dd/yyyy

    21022 = yy.mm.dd

    102 = yyyy.mm.dd

    31033 = dd/mm/yy

    103 = dd/mm/yyyy

    41044 = dd.mm.yy

    104 = dd.mm.yyyy

    51055 = dd-mm-yy

    105 = dd-mm-yyyy

    61066 = dd mon yy

    106 = dd mon yyyy

    71077 = Mon dd, yy

    107 = Mon dd, yyyy

    8108hh:mi:ss
    -9 或 109mon dd yyyy hh:mi:ss:mmmAM(或 PM)
    1011010 = mm-dd-yy

    110 = mm-dd-yyyy

    1111111 = yy/mm/dd

    111 = yyyy/mm/dd

    1211212 = yymmdd

    112 = yyyymmdd

    -13 或 113dd mon yyyy hh:mi:ss:mmm(24h)
    14114dd mon yyyy hh:mi:ss:mmm(24h)
    -20 或 120yyyy-mm-dd hh:mi:ss(24h)
    -21 或 121yyyy-mm-dd hh:mi:ss.mmm(24h)
    -126yyyy-mm-ddThh:mi:ss.mmm(无空格)
    -127yyyy-mm-ddThh:mi:ss.mmmZ(无空格)
    -130dd mon yyyy hh:mi:ss:mmmAM
    -131dd/mm/yyyy hh:mi:ss:mmmAM
     
      

     

     
      

    2、float 和 real 样式

     
      

     

     
      
    输出
    0(默认值)最多包含 6 位。 根据需要使用科学记数法。
    1始终为 8 位值。 始终使用科学记数法。
    2始终为 16 位值。 始终使用科学记数法。
     
      

     

     
      

    3、money 和 smallmoney 样式

     
      

     

     
      
    输出
    0小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如 4235.98。
    1小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如 3,510.92。
    2小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如 3,510.92。
    126转换为 char(n) 或 varchar(n) 时,等同于样式 2

    
    

     

    转载于:https://www.cnblogs.com/ilrc/p/6240291.html

    展开全文
  • Convert和Cast比较

    2009-02-03 11:01:00
    如果SQL Server程序员想将表达式从一种换为另一种,...CONVERT和CAST就可以用于这种情况。  由于SQL Server提供两种功能,因此应该选择哪种功能或应该在哪种情况下使用该功能就很容易让人困惑了。CONVERT是专对SQ...

    如果SQL Server程序员想将表达式从一种换为另一种,他可以从SQL Server 7和2000中自带的两种功能中做出选择。在存储过程或其他情况下,我们常常需要将数据从datetime型转化成varchar型;CONVERT和CAST就可以用于这种情况。

      由于SQL Server提供两种功能,因此应该选择哪种功能或应该在哪种情况下使用该功能就很容易让人困惑了。CONVERT是专对SQL Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性。

      CAST是两种功能中更具ANSI标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些。不过,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用CAST。因此,我建议首先使用CAST,如果遇到必须使用CONVERT的情况时再使用CONVERT。

      CAST和CONVERT还能联合使用,达到特殊的效果。比如,在current date下生成char变量一般使用以下方法:

      SELECT CONVERT(CHAR(10), CURRENT_TIMESTAMP, 102)

      (102表明使用了ANSI日期模式,即yy.mm.dd型)

      然而,如果你希望将这个变量明确生成为datetime或smalldatetime变量,以此在特定的数据库栏中兼容,那么你可以使用以下语句:

      SELECT CAST(CONVERT(CHAR(10),CURRENT_TIMESTAMP,102)) AS DATETIME

      返回值将是 yy.mm.dd 00:00:00(如12:00AM作为时间戳;CURRENT_TIMESTAMP的时间信息将被丢弃。)

    转载于:https://www.cnblogs.com/illele/archive/2009/02/03/1382931.html

    展开全文
  • Convert Cast 区别

    2009-06-17 17:23:00
    不过用convert转换后可以加入显示方式 比如 select convert(varchar,getdate(),110)--118是显示方式 cast没有这种功能 相同之处:都是做数据类型转换的 不同之处:convertk只是显示转换 cast是强制转换 convert多...
  • mysql类型转换函数convertcast用法 原文地址:https://blog.csdn.net/kouwoo/article/details/45535733 简单介绍下mysql数据库中用于类型转换的二个函数,convertcast函数,有需要的朋友参考下。 首先,...
  • 简单介绍下mysql数据库中用于类型转换的二个函数,convertcast函数,有需要的朋友参考下。 首先,convert函数 字符集转换 : CONVERT(xxx USING gb2312)类型转换SQL Server一样,不过类型参数上有不同:CAS.....
  • 1、cast 语法:cast(字段a as 类型b) 释义:把字段a的类型转换成类型b,as不可省略 举例:order by cast (id as integer ) desc id为字符串型,则需要...总结:函数cast和convent作用相同,只是语法稍有区别。 ...
  • CONVERT用法: convert(int ,'123') --将字符串'123'...CAST用法: cast('123' as int )--将字符串'123'转换成 int类型 --------------------------------------------------------------------------------------- s
  • CAST CONVERT 用法

    2010-12-10 11:03:00
    CAST CONVERT (Transact-SQL) 将一种数据类型的表达式转换为另一种数据类型的表达式。 【语法】Syntax for CAST:CAST ( expression AS data_type [ ( length ) ] )Syntax for CONVERT:CONVERT ( ...
  • MySQL CASTCONVERT 函数的用法

    千次阅读 2016-10-15 15:29:02
    MySQL CASTCONVERT 函数的用法
  • convertcast函数

    2017-11-01 16:48:02
    简单介绍下mysql数据库中用于类型转换的二个函数,convertcast函数,有需要的朋友参考下。 首先,convert函数字符集转换 : CONVERT(xxx USING gb2312) 类型转换SQL Server一样,不过类型参数上有不同: CAST...
  • cast 和convert用法详解

    2012-02-13 14:04:26
    CAST CONVERT 提供相似的功能。 语法 使用 CASTCAST ( expression AS data_type ) 使用 CONVERTCONVERT (data_type[(length)], expression [, style]) 参数 expression 是任何有效的 Microsoft® ...
  • CAST CONVERT用法和区别

    千次阅读 2010-04-30 16:56:00
    CAST CONVERT将某种数据类型的表达式显式转换为另一种数据类型。...语法使用 CASTCAST ( expression AS data_type ) 使用 CONVERTCONVERT (data_type[(length)], expression [, style])参数expression是任何有
  • mysql 的CASTCONVERT 函数的用法 语法: CAST(xxx AS 类型), CONVERT(xxx,类型)。 类型有限制,仅支持如下类型的转换。 二进制,同带binary前缀的效果 : BINARY 字符型,可带参数 : CHAR() 日期 : DATE...
  • 1、使用 CAST  CAST ( expression AS data_type ) 2、使用 CONVERT  CONVERT (data_type[(length)], expression [, style]) 3、参数说明  expression  是任何有效的表达式。  data_...
  • 字符集转换 : CONVERT(xxx USING gb2312) 类型转换SQL Server一样,不过类型参数上有不同: CAST(xxx AS 类型), CONVERT(xxx,类型),类型必须用下列的类型: 可用的类型 二进制,同带binary前缀的效果 : BINARY ...
  • CAST CONVERT 提供相似的功能。 语法使用 CASTCAST ( expression AS data_type ) 使用 CONVERTCONVERT (data_type[(length)], expression [, style]) 参数expression 是任何有效的 Micros...
  •  本节主要叙述一下sql中的两个非常重要的方法Convert和Cast,主要用来将某种数据类型的表达式显式转换为另一种数据类型。CAST CONVERT 提供相似的功能。在字符串拼接日期转换中我们都会去选择这两个方法,...
  • SQL中的cast和convert用法和区别

    千次阅读 2016-04-24 20:40:12
    1、使用 CAST  CAST ( expression AS data_type ) 2、使用 CONVERT  CONVERT (data_type[(length)], expression [, style]) 3、参数说明  expression  是任何有效的表达式。 ...
  • 此时我们应该使用的是cast()或convert()。 二、两者的对比 相同点:都是进行数据类型转换,实现的功能基本等同 不同点:两者的语法不同,cast(value as type) 、 convert(value,type) 三、所支持的类型如下: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,619
精华内容 7,847
关键字:

convert和cast的用法