SQL PARSE()函数

SQL PARSE()函数

SQL PARSE() 函数是一个转换函数,将字符串数据转换为所需的数据格式,并将结果作为表达式返回。建议使用此SQL PARSE函数将字符串数据转换为日期/时间或数值类型。

语法

下面是SQL PARSE()函数的语法:

PARSE ( string_value AS data_type [ USING culture ] )

参数

此函数只接受三个参数。以下是对每个参数的描述:

  • string_value - 这是要转换为特定数据类型的表达式。

  • data_type - 这是要将string_value转换为的数据类型。

  • culture - 这是一个可选参数,用于格式化字符串值的文化。

让我们来看一下下表中parse支持的文化-

文化 完整名称 语言
en-US 美国英语 英语
de-DE 德语 德语
fr-FR 法语 法语
ja-JP 日语 日语
da-DK 丹麦语 丹麦语
es-ES 西班牙语 西班牙语
it-IT 意大利语 意大利语
nl-NL 荷兰语 荷兰语
nn-NO 挪威语 挪威语
pt-PT 葡萄牙语 葡萄牙语
fi-FI 芬兰语 芬兰语
sv-SE 瑞典语 瑞典语
Cs-CZ 捷克语 捷克语
Hu-HU 匈牙利语 匈牙利语
Pl-PL 波兰语 波兰语
Ro-RO 罗马尼亚语 罗马尼亚语
hr-HR 克罗地亚语 克罗地亚语
Sk-SK 斯洛伐克语 斯洛伐克语
Sl-SI 斯洛文尼亚语 斯洛文尼亚语
El-GR 希腊语 希腊语
bg-BG 保加利亚语 保加利亚语
Ru-RU 俄语 俄语
Tr-TR 土耳其语 土耳其语
en-GB 英国英语 英国英语
Et-EE 埃沙 爱沙尼亚语
lv-LV 拉脱维亚语 拉脱维亚语
lt-LT 立陶宛语 立陶宛语
pt-BR 葡萄牙语(巴西) 巴西语
zh-TW 繁体中文 繁体中文
Ko-KR 韩语 韩语
zh-CN 简体中文 简体中文
ar-SA 阿拉伯语 阿拉伯语
Th-TH 泰语 泰语

示例

让我们尝试使用以下查询将字符串解析为datetime2日期时间类型 –

SELECT PARSE('THURSDAY, 23 february 2023' AS datetime2 USING 'zh-CN') AS Result;

输出

当我们执行以上查询时,输出如下 –

+------------------------------------+
|                              Result|
+------------------------------------+
|        2023-02-23 00:00:00.0000000 |
+------------------------------------+

示例

让我们看一下另一种情况,通过以下查询将字符串解析为datetime类型 –

SELECT PARSE('02/23/2023' AS DATETIME) AS Result;

输出

当我们执行上述查询时,输出结果如下所示 –

+------------------------------------+
|                              Result|
+------------------------------------+
|           2023-02-23 00:00:00.000  |
+------------------------------------+

示例

通过使用以下查询来将字符串解析为整数 –

SELECT PARSE('123.000' AS INT) AS Result;

输出

执行以上查询后,输出结果如下所示 –

+------------------------------------+
|                              Result|
+------------------------------------+
|                                123 |
+------------------------------------+

示例

考虑以下示例,我们将通过运行以下查询将字符串解析为数值:

DECLARE @string AS VARCHAR(9)
SET @string = '56789'
SELECT PARSE(@string AS DECIMAL(8, 2)) AS decimalresult;
SELECT PARSE(@string AS MONEY) AS moneyresult;

输出

执行上述查询后,输出如下所示:

+-------------------+
|     decimalresult |
+-------------------+
|        56789.00   |
+-------------------+
+-------------------+
|       moneyresult |
+-------------------+
|       56789.00    |
+-------------------+

示例

让我们看看以下示例,我们将通过运行以下查询来处理NULL值:

SELECT PARSE(NULL AS INT) AS Result;

输出

上述查询的输出如下所示 −

Argument data type NULL is invalid for argument 1 of parse function.

示例

看看另一种情况,我们将NULL作为参数传递,并使用以下查询检查结果 −

DECLARE @txt AS VARCHAR(22);
SET @txt = NULL
SELECT PARSE(@txt AS INT) AS Result;

输出

如果我们编译并运行上面的查询,结果如下所示 −

+------------------------------------+
|                              Result|
+------------------------------------+
|                               NULL |
+------------------------------------+

示例

让我们看一个示例,使用parse()函数将字符串解析为日期,使用以下查询 −

SELECT PARSE('February/23/2023' AS date) AS Result;

输出

在执行上述查询时,将生成如下所示的输出结果 −

+------------------------------------+
|                              Result|
+------------------------------------+
|                         2023-02-23 |
+------------------------------------+

示例

让我们来考虑另一个示例,我们将使用parse函数通过以下查询将其转换为数字类型 −

SELECT PARSE('1,2,3,4,5' AS int) As Result;

输出

当查询被执行时,将生成如下所示的输出−

+------------------------------------+
|                              Result|
+------------------------------------+
|                              12345 |
+------------------------------------+

示例

考虑以下示例,我们使用不同的文化进行解析,并通过以下查询检查结果−

SELECT PARSE('30,000' AS decimal(8,2) USING 'en-US') AS inEnglish ;
SELECT PARSE('30,000' AS decimal(8,2) USING 'fr-FR') AS inFrench;

输出

当我们执行上述查询时,结果如下−

+-------------------+
|         inEnglish |
+-------------------+
|        30000.00   |
+-------------------+
+-------------------+
|          inFrench |
+-------------------+
|           30.00   |
+-------------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程