SQL Server 2012中的新函数Parse

Parse 函数用于将字符串转换为数字和日期和时间格式。 如果无法翻译,则会引发错误。 您仍然可以使用 CAST 或者 CONVERT 进行一般转换。 这取决于 CLR 是否存在。

语法

要演示此新转换函数,下面定义了语法:

 PARSE ( string_value AS data_type [ USING culture ] )

PARSE函数包含三个参数。
culture 部分是可选的。

string_value - 要解析为数字和日期和时间格式的字符串值。

data_type - 返回数据类型、数字或者日期时间类型。

culture - 函数的culture 部分是可选的。 SQL Server 用来解释数据的语言(英语、日语、西班牙语、丹麦语、法语等)。 如果需要,可以指定一种culture ; 否则,将使用当前会话的区域性。 culture 可以是任何 .NET 支持的文化,不限于 SQL Server 支持的culture。

SQL Server Parse函数示例

在这个例子中,我们看到了和 Cast 和 Convert 函数一起使用的 parse 函数。
执行以下操作,使用 CAST、CONVERT 和 PARSE 函数将字符串值转换为日期时间:

SELECT CAST('6/08/2012' AS DATETIME2) AS  [CAST Function Result]  -- Using CAST Function

GO

SELECT CONVERT(DATETIME2, '06/08/2012') AS [CONVERT Function Result] --Using Convert Function

Go

SELECT PARSE('06/08/2012' AS Datetime2 USING 'en-US') AS [PARSE Function Result] -- Using Parse Function

GO

现在按F5执行这些命令。

正如我们将看到的,只有PARSE可以将字符串值转换为DATETIME。

对应下面的格式,再试一次:

SELECT CAST('Monday, 06 august 2012' AS DATETIME2) AS  [CAST Function Result]  -- Using CAST Function

GO

SELECT CONVERT(DATETIME2, 'Monday, 06 august 2012') AS [CONVERT Function Result] --Using Convert Function

Go

SELECT PARSE('Monday, 06 august 2012' AS Datetime2  USING 'en-US') AS [PARSE Function Result] -- Using Parse Function

GO
日期:2020-06-02 22:18:04 来源:oir作者:oir