SQL中的转换函数

有时,SQL查询可能期望某种数据类型,但是却得到了另一种。在这种情况下,类型转换由SQL完成。这是隐式类型转换。但是,有时程序员在查询中将一种数据类型显式转换为另一种数据类型。这称为显式类型转换。这两个详细信息如下:

隐式数据类型转换

在隐式数据类型转换中,SQL程序员不指定任何内容。而是系统根据其要求将一种数据类型转换为另一种数据类型。例如-如果需要,可以将数字数据类型转换为字符,反之亦然。

仅当查询中使用的数据类型有效时,才发生隐式数据类型转换,以便系统可以识别它们并根据需要对其进行转换。对于无效或错误提供的数据类型,这是不可能的。

显式数据类型转换

如果程序员愿意,他们可以将数据类型从一种形式显式转换为另一种形式。为此提供了SQL函数。这些SQL函数是-

TO_CHAR

此函数用于将数字或日期数据类型显式转换为char。

该函数的语法如下:

TO_CHAR(number,format,parameters)

此函数将根据语法提供的特定格式将数字更改为char。该参数可用于指定十进制字符,组分隔符等。

例如-

SELECT CHAR(sysdate, “Month DD,YYYY”) FROM DUAL;

这将以2018年7月31日的形式返回系统日期

TO_NUMBER

此函数用于将字符串显式转换为数字。如果要转换的字符串不包含数字字符,则TO_NUMBER将显示错误。

该函数的语法如下:

TO_NUMBER(number,format,parameters)

此函数根据语法提供的特定格式将给定的字符串更改为数字。

参数和格式是可选的,以便将字符串转换为数字

例如,

TO_NUMBER (‘353.78’);

这将以数字格式返回字符串353.78。

至今

此函数采用字符值,并以日期格式返回输出。

该函数的语法如下:

TO_DATE(number, format, parameters)

此函数根据语法提供的特定格式将给定的字符串更改为数字。

SELECT TO_DATE(‘2018/07/31’,’yyyy/mm/dd’) FROM DUAL;

这将采用字符格式的值,并按指定的日期格式返回它们。