有时,SQL查询可能期望某种数据类型,但是却得到了另一种。在这种情况下,类型转换由SQL完成。这是隐式类型转换。但是,有时程序员在查询中将一种数据类型显式转换为另一种数据类型。这称为显式类型转换。这两个详细信息如下:
在隐式数据类型转换中,SQL程序员不指定任何内容。而是系统根据其要求将一种数据类型转换为另一种数据类型。例如-如果需要,可以将数字数据类型转换为字符,反之亦然。
仅当查询中使用的数据类型有效时,才发生隐式数据类型转换,以便系统可以识别它们并根据需要对其进行转换。对于无效或错误提供的数据类型,这是不可能的。
如果程序员愿意,他们可以将数据类型从一种形式显式转换为另一种形式。为此提供了SQL函数。这些SQL函数是-
此函数用于将数字或日期数据类型显式转换为char。
该函数的语法如下:
TO_CHAR(number,format,parameters)
此函数将根据语法提供的特定格式将数字更改为char。该参数可用于指定十进制字符,组分隔符等。
例如-
SELECT CHAR(sysdate, “Month DD,YYYY”) FROM DUAL;
这将以2018年7月31日的形式返回系统日期
此函数用于将字符串显式转换为数字。如果要转换的字符串不包含数字字符,则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;
这将采用字符格式的值,并按指定的日期格式返回它们。