cast 是进行类型转换的, 可以针对各种Oracle数据类型. 修改的是用户的数据类型
例:
SQL> create table t1(a varchar(10));
Table created.
SQL> insert into t1 values ('12.3456');
1 row created.
SQL> select round(a) from t1;
ROUND(A)
----------
12
SQL> select round(a,3) from t1;
ROUND(A,3)
----------
12.346
SQL> select cast(a as int) from t1;
CAST(AASINT)
------------
12
SQL> select cast(a as number(8,4)) from t1;
CAST(AASNUMBER(8,4))
--------------------
12.3456
转换为“decimal”类型,如下:
select Cast(1.888888 as decimal) from dual;
----------------------------------
| Cast(1.888888 as decimal) |
----------------------------------
| 2 |
----------------------------------
select cast(1.88888 as decimal(12,2)) from dual;
----------------------------------
| Cast(1.88888 as decimal) |
----------------------------------
| 1.89 |
----------------------------------
========================================================
round只是修改的数据显示格式. 对数据做四舍五入. 类似的函数还有
ceil(取此数据的最小整数).
trunc[color=red][/color]( 取整函数.)
复制内容到剪贴板
代码:
SQL> select round(12.45) round,trunc(12.45) trunc,ceil(12.45) ceil
2 from dual
3 /
ROUND TRUNC CEIL
---------- ---------- ----------
12 12 13
SQL> select round(12.54) round,trunc(12.54) trnc,ceil(12.54) ceil
2 from dual
3 /
ROUND TRNC CEIL
---------- ---------- ----------
13 12 13
SQL>
分享到:
相关推荐
Oracle提供了多种数学函数,如`ABS()`, `SQRT()`, `MOD()`, `ROUND()`, `TRUNC()`, `CEIL()`, `FLOOR()`等。`ABS()`返回一个数的绝对值,`SQRT()`计算平方根,`MOD()`返回两数相除的余数,`ROUND()`、`TRUNC()`和`...
- Oracle: 使用`CEIL`函数,如 `SELECT CEIL(-1.001) value FROM DUAL;` 3. 取整(小) - SQL Server: 使用`FLOOR`函数,如 `SELECT FLOOR(-1.001) value;` - Oracle: 同样使用`FLOOR`函数,如 `SELECT FLOOR(-1...
Oracle 提供 `TRUNC` 函数,如 `SELECT TRUNC(-1.002) FROM DUAL`。 5. **四舍五入**: 在 SQL Server 中,`ROUND` 函数用于四舍五入,如 `SELECT ROUND(1.23456, 4)`;Oracle 的 `ROUND` 函数类似,但结果可能略...
- Oracle中使用`CEIL()`函数。 3. **向下取整** - SQLServer中使用`FLOOR()`函数。 - Oracle中也使用`FLOOR()`函数。 4. **截取整数部分** - SQLServer中使用`CAST()`函数将浮点数转换为整型。 - Oracle中...
- **SQL Server**与**Oracle**: 都使用`ROUND()`函数,但在参数上有所不同,SQL Server可以直接指定小数位数,而Oracle的`ROUND()`函数在没有第二参数时默认为0。 6. **自然对数和指数函数** - **SQL Server**: `...
- SQL Server 使用 `CAST()` 或 `ROUND()` 将浮点数转换为整数,如:`SELECT CAST(-1.002 AS INT) value` - Oracle 使用 `TRUNC()` 来截断小数部分,如:`SELECT TRUNC(-1.002) value FROM DUAL` 5. **四舍五入到...
- SQL Server: 使用`CAST`或`CONVERT`函数转换数据类型 - 示例: `SELECT CAST(-1.002 AS INT)` - Oracle: 直接使用`TRUNC`函数 - 示例: `SELECT TRUNC(-1.002) FROM DUAL` 5. **四舍五入**: `ROUND` - SQL ...
- SQL Server使用`CAST`函数,Oracle使用`TRUNC`函数。 - 示例:SQL Server中`SELECT CAST(-1.002 AS INT)`;Oracle中`SELECT TRUNC(-1.002) FROM DUAL`。 6. **四舍五入** - 两者都有`ROUND`函数,但Oracle需要...
- CEIL:向上取整到最接近的整数。 - FLOOR:向下取整到最接近的整数。 - ROUND:四舍五入到指定的小数位数。 - TRUNC:截断数字到指定的小数位数。 2. **字符串函数** - CONCAT:连接两个或多个字符串。 - ...
4. 截取整数部分:SQL Server通过`CAST()`或`CONVERT()`函数将浮点数转换为整数,Oracle则使用`TRUNC()`函数。 5. 四舍五入:SQL Server和Oracle的`ROUND()`函数用于四舍五入,但Oracle在指定精度时会直接省略...
- **Oracle**: 可以使用 `CAST` 或 `TRUNC` 函数。 - 示例:`SELECT CAST(-1.002 AS INT) VALUE` - **SQL Server**: 使用 `TRUNC` 函数。 - 示例:`SELECT TRUNC(-1.002) VALUE FROM DUAL` #### 5. 四舍五入函数 ...
- **Oracle**: 使用`CEIL`函数实现相同功能。 ```sql SELECT CEIL(-1.001) AS Value FROM DUAL; ``` 3. **向下取整(FLOOR)** - **SQLServer**: 使用`FLOOR`函数来获得小于或等于指定表达式的最大整数。 ```...
- **SQL Server**与**Oracle**: 都使用`ROUND`函数,如:`SELECT ROUND(1.23456, 4) AS Value` 和 `SELECT ROUND(1.23456, 4) AS Value FROM DUAL` #### 6. 自然对数底数(e) - **SQL Server**: 使用`EXP`函数计算...
- **取整(截取小数部分)**:SQL Server 使用 `CAST()` 或 `CONVERT()` 转换为整数,而 Oracle 有 `TRUNC()` 函数。 - **四舍五入**:两者都使用 `ROUND()` 函数,但 SQL Server 在四舍五入时默认不考虑尾数,而 ...
- SQL Server: 没有直接对应的`TRUNC`函数,但可以通过类型转换达到类似效果,如`CAST`或`CONVERT`。 - 示例:`SELECT TRUNC(-1.002) FROM DUAL`(Oracle)/ `SELECT CAST(-1.002 AS INT) FROM DUAL`(SQL Server...
- **Oracle**: 使用`CEIL`函数。 - 示例:`SELECT CEIL(-1.001) FROM DUAL` #### 3. 向下取整 - **SQL Server**: 使用`FLOOR`函数。 - 示例:`SELECT FLOOR(-1.001)` - **Oracle**: 同样使用`FLOOR`函数。 - ...
Oracle中,`TRUNC()`函数则用于此目的,例如`SELECT TRUNC(-1.002) value FROM DUAL`。 4. 四舍五入: SQL Server的`ROUND()`函数支持四舍五入,如`SELECT ROUND(1.23456,4) value`会得到1.2346。Oracle的`ROUND()`...