📅  最后修改于: 2023-12-03 15:35:05.627000             🧑  作者: Mango
在SQL中,转换函数用于将一个数据类型转换成另一个数据类型。这对于数据类型的处理和计算十分有用。SQL中提供了多种转换函数,包括数字转换函数、日期转换函数、字符串转换函数等等。
本文将介绍常用的SQL转换函数,包括:
CAST函数用于将一个数据类型转换成另一个数据类型。它的语法如下:
CAST(expression AS datatype)
其中,expression是待转换的表达式,datatype是目标数据类型。可以将表达式转换成各种数据类型,例如整型、浮点型、日期型、字符串型等等。
下面是一些示例:
SELECT CAST('123' AS INT);
SELECT CAST('2021-01-01' AS DATE);
SELECT CAST(3.14 AS INT);
注意,如果转换失败,会抛出异常。例如,将字符串转换成整型时,如果字符串中包含非数字字符,就会抛出异常。
CONVERT函数与CAST函数类似,也用于将一个数据类型转换成另一个数据类型。不同的是,它支持更多的数据类型,例如二进制类型、Unicode类型等等。它的语法如下:
CONVERT(datatype, expression, style)
其中,datatype是目标数据类型,expression是待转换的表达式,style是样式。
与CAST函数不同,CONVERT函数支持更多的样式。例如,可以将日期格式化成不同的形式,或者将Unicode字符串转换成ASCII字符串。下面是一些示例:
SELECT CONVERT(N'Hello', UNICODE);
SELECT CONVERT(VARCHAR(10), GETDATE(), 110);
SELECT CONVERT(VARCHAR(10), N'你好', 936);
注意,样式参数不是必须的,如果没有特殊需求,可以不填写。
TO_CHAR函数用于将一个日期型或数字型数据转换成字符串型数据。它的语法如下:
TO_CHAR(expression, format)
其中,expression是待转换的表达式,format是格式化字符串。
TO_CHAR函数与CONVERT函数类似,都支持格式化字符串。不同的是,TO_CHAR函数只支持日期型和数字型的数据。下面是一些示例:
SELECT TO_CHAR(123);
SELECT TO_CHAR(GETDATE(), 'YYYY-MM-DD');
TO_NUMBER函数用于将一个字符串型数据转换成数字型数据。它的语法如下:
TO_NUMBER(expression)
其中,expression是待转换的表达式。
TO_NUMBER函数与CAST函数类似,都用于将一个数据类型转换成另一个数据类型。不同的是,TO_NUMBER函数只支持字符串型转换成数字型。下面是一些示例:
SELECT TO_NUMBER('123');
注意,如果待转换的字符串中包含非数字字符,就会抛出异常。
TO_DATE函数用于将一个字符串型数据转换成日期型数据。它的语法如下:
TO_DATE(expression, format)
其中,expression是待转换的表达式,format是格式化字符串。
TO_DATE函数与TO_CHAR函数类似,都用于将一个数据类型转换成另一个数据类型。不同的是,TO_DATE函数只支持字符串型转换成日期型。下面是一些示例:
SELECT TO_DATE('2021-01-01', 'YYYY-MM-DD');
注意,如果待转换的字符串和格式化字符串不匹配,就会抛出异常。