Oracle中的TRUNC函数是一个非常有用的函数,它可以用于处理日期、数字和字符串。以下是TRUNC函数的详细用法:
处理日期
TRUNC(date[, fmt])
date:是要被截断的日期或时间值。fmt(可选):日期格式模型,用于指定截断到哪个单位(如年、月、日等)。如果省略,则默认为日期。
示例:
-
截断到年份的第一天:
sql复制代码
SELECT TRUNC(SYSDATE, 'YYYY') FROM DUAL; |
这将返回当前年份的第一天日期。
-
截断到月份的第一天:
sql复制代码
SELECT TRUNC(SYSDATE, 'MM') FROM DUAL; |
这将返回当前月份的第一天日期。
-
截断到当前星期的第一天(通常是周日):
sql复制代码
SELECT TRUNC(SYSDATE, 'D') FROM DUAL; |
请注意,D在这里表示一周中的天数(周日=1,周一=2,...,周六=7)。因此,TRUNC(SYSDATE, 'D')将返回当前周的第一天(周日)。
-
截断到小时:
sql复制代码
SELECT TRUNC(TO_DATE('2023-10-23 14:37:00', 'YYYY-MM-DD HH24:MI:SS'), 'HH') FROM DUAL; |
这将返回2023-10-23 14:00:00。
处理数值
TRUNC(number[, decimal_places])
number:是要被截断的数值。decimal_places(可选):要保留的小数位数。如果省略,则默认截断为整数。
示例:
-
截断为整数:
sql复制代码
SELECT TRUNC(123.456) FROM DUAL; |
这将返回123。
-
截断到小数点后两位:
sql复制代码
SELECT TRUNC(123.4567, 2) FROM DUAL; |
这将返回123.45。
处理字符串
TRUNC(string, n)
string:要截断的字符串。n:要截取的字符数。
示例:
sql复制代码
SELECT TRUNC('Hello, World!', 5) FROM DUAL; |
这将返回'Hello'。
注意:虽然Oracle的TRUNC函数通常用于日期和数值,但它也可以用于字符串,但这种情况在实际应用中可能不太常见。
335

被折叠的 条评论
为什么被折叠?



