cast函数_聊一聊SQL Server中的Cast()和Convert()函数的区别

在本文中,我们将了解如何在SQL Server 2014中使用Cast和Convert函数,Cast和Convert函数提供了类似的功能,它们用于将值从一种数据类型转换为另一种数据类型。

让我们来看一个实际的例子,该示例使用SQL Server Management Studio在SQL Server 2014里展示。

SQL Server中的Cast()函数

Cast()函数用于将一个变量或数据从一种数据类型转换为另一种数据类型,Cast()函数为动态参数(?)或空值提供数据类型。

语法

CAST ([Expression] AS Datatype)

将表达式转换为的数据类型是“目标类型”,您要将其强制转换的表达式的数据类型我们称之为“源类型”。

示例1

DECLARE @Z char(30)  SELECT @Z=current_timestamp  select CAST (@Z as date) as result
c20528d3ecf08cbf058630bcb45eb0e9.png

示例2

DECLARE @Z char(30)  SELECT @Z=current_timestamp  select CAST (@Z as date) as result
6407d45d70249ea4a5dd65498858e1d1.png

SQL Server中的Convert()函数

当您将表达式从一种类型转换为另一种类型时,在许多情况下,存储过程或其他例程中需要将数据从日期或时间类型转换为Varchar类型,这个时候可用Convert函数,Convert函数可以用来显示各种格式的日期或时间数据。

语法

CONVERT(data_type(length), expression, style)

style用于将日期时间或smalldatetime转换为字符数据的样式值。

示例1

在本例中,我们使用样式值108,它定义了以下格式:

hh:mm:ss

现在在下面的查询中使用上面的样式:

select convert(varchar(20),GETDATE(),108)  
37cc9ab3c6e6d4c599df33e39d137915.png

在本例中,我们使用样式值107,它定义了以下格式:

Mon dd, yy

现在在下面的查询中使用该样式:

select convert(varchar(20),GETDATE(),107)  
a7fd27adc9f17e106d3af5041970dc15.png

示例2

在这个例子中,我们看到了定义以下格式的不同样式值。

SELECT CONVERT(VARCHAR(15),GETDATE(),6)  go  SELECT CONVERT(VARCHAR(16),GETDATE(),106)  go  SELECT CONVERT(VARCHAR(24),GETDATE(),113)
977677f56eacc61eaf317dad9af3cf16.png
select convert(varchar(20),GETDATE(),108) 
e49d7b400cd94f981739e61d28b19ca5.png

示例3

在本例中,我们使用样式值107,它定义了以下格式:

Mon dd, yy

现在在下面的查询中使用该样式:

select convert(varchar(20),GETDATE(),107)
b41b3e7fe8d02cd9d0d6c76059221c10.png

示例4

在这个例子中,我们看到了定义以下格式的不同样式值。

SELECT CONVERT(VARCHAR(15),GETDATE(),6)  go  SELECT CONVERT(VARCHAR(16),GETDATE(),106)  go  SELECT CONVERT(VARCHAR(24),GETDATE(),113)  
c71ff433a4e19507d8ae48e454d9330e.png

感谢您的阅读,码字不易,如果这篇文章对您有帮助,记得给我点个赞和关注哦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值