聚合函数

4.1转换函数

除了Oracle 数据类型,还可以使用美国国家标准协会(ANSI) DB2 SQL/DS  数据类型定义Oracle DB 中表的列。但是,Oracle Server 会在内部将这些数据类型转换为Oracle 数据类型。

在某些情况下,Oracle Server  会收到数据类型与预期的数据类型不同的数据。发生这种情况时,Oracle Server 可自动将该数据转换为预期的数据类型。这种数据类型转换可以由Oracle Server  隐式完成,也可以由用户显式完成。

显式数据类型转换可通过使用转换函数来执行。转换函数用于将一种数据类型的值转换为另一种数据类型的值。

通常,函数名称的格式遵循data type TOdata type惯例。

第一个数据类型是输入数据类型,第二个数据类型是输出数据类型。

注:尽管可以使用隐式数据类型转换,但仍建议执行显式数据类型转换以确保 SQL 句的可靠性。

4.2隐式数据类型转换

隐式数据类型转换

在表达式中,Oracle Server 可以自动执行以下转换:

1、从 VARCHAR2 CHAR隐式转换为NUMBER

2、从VARCHAR2 CHAR隐式转换为DATE

Varchar2

Char

Number

Date

 

Oracle Server 可以在表达式中自动执行数据类型转换。例如,表达式hire_date > '01-JAN-90' 将导致字符串'01-JAN-90' 隐式转换为一个日期。因此,表达式中的VARCHAR2 CHAR 值可以隐式转换为数字或日期数据类型。

对于表达式计算,Oracle Server 可以自动执行以下转换:

NUMBER隐式转换为VARCHAR2 CHAR

 DATE隐式转换为VARCHAR2 CHAR

通常,OracleServer  在需要进行数据类型转换时使用适用于表达式的规则。例如,表达式grade = 2 将导致数字2 隐式转换为字符串“2”,因为grade  CHAR(2)列。

注:只有字符串代表一个有效数字时,CHAR NUMBER 的转换才能成功。

 

 

4.3显式数据类型转换

SQL 提供了以下三种函数,用于将值从一种数据类型转换为另一种数据类型:

TO_CHAR(number | date,[  fmt ],[nlsparams]) 

按照格式样式  fmt ,将数字或日期值转换为 VARCHAR2   字符串。 

数字转换:nlsparams  参数指定以下由数字格式元素返回的字符: 

--小数点字符 

--组分隔符 

--本地货币符号 

--国际货币符号 

如果省略 nlsparams  或者任何其它参数, 则该函数将在会话中使用默认参数值。 

日期转换:nlsparams  参数指定返回的月 和日名称以及缩写所用的语言。如果省略此 参数,则该函数将在会话中使用默认的日期 语言。

TO_NUMBER(char,[fmt], [nlsparams])

按照可选格式样式  fmt   指定的格式,将包含数字的字符串转换为数字。 

对于数字转换,nlsparams 参数在此函数中的作用与它在  TO_CHAR  函数中的作用相同。

TO_DATE(char,[fmt ],[ nlsparams])

按照指定的  fmt ,将代表日期的字符串转换 为日期值。如果省略  fmt ,则格式为  DD-MON-YY  

对于日期转换,nlsparams 参数在此函数中的作用与它在  TO_CHAR  函数中的作用相同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值