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

SQL Server
442
0
0
2022-04-03
在本文中,我们将了解如何在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

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

示例2

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

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

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)  

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

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

Mon dd, yy

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

select convert(varchar(20),GETDATE(),107)  

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


示例2

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

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

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

select convert(varchar(20),GETDATE(),108) 

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

示例3

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

Mon dd, yy

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

select convert(varchar(20),GETDATE(),107)

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

示例4

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

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

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

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