SQL TIMEFROMPARTS()函数

SQL TIMEFROMPARTS()函数

SQL的 TIMEFROMPARTS() 函数用于从单独的部分构建时间值。

该函数接受五个参数,如小时、分钟、秒、分数和精度,并返回表示指定时间的时间值。

  • 如果作为参数的值无效,该函数将导致错误。

  • 如果任何参数为空,则返回结果为空。

  • 如果缺少任何参数,将返回错误。

语法

以下是SQL中 TIMEFROMPARTS() 函数的语法:

TIMEFROMPARTS(hour, minute, seconds, fractions, precision)

参数

此函数接受五个参数。以下是描述:

  • hour - 指定时间值的小时部分。

  • minute - 指定时间值的分钟部分。

  • seconds - 指定时间值的秒钟部分。

  • fractions - 指定时间值的分数部分。

  • precision - 指定要返回的时间值的精度。

示例

让我们尝试使用以下查询构建一个不包含秒的时间值:

SQL> SELECT TIMEFROMPARTS(16, 45, 20, 0, 0) AS RESULT;

输出

在执行上面的查询时,输出如下所示 –

+----------+
| RESULT   |
+----------+
| 16:45:20 |
+----------+

示例

让我们尝试使用TIMEFROMPARTS()函数的分数和精度参数:

  • 当分数值为5且精度值为1时,分数的值表示1/10秒。

  • 当分数值为5且精度值为2时,分数的值表示1/100秒。

  • 当分数值为5且精度值为3时,分数的值表示1/1000秒。

SQL> SELECT TIMEFROMPARTS(16, 45, 20, 5, 1) AS RESULT_1;  
SELECT TIMEFROMPARTS(16, 45, 20, 5, 2) AS RESULT_2;  
SELECT TIMEFROMPARTS(16, 45, 20, 5, 3) AS RESULT_3;

错误

如果我们执行程序,结果如下所示 –

+------------+
| RESULT_1   |
+------------+
| 16:45:20.5 |
+------------+

+-------------+
| RESULT_2    |
+-------------+
| 16:45:20.05 |
+-------------+

+--------------+
| RESULT_3     |
+--------------+
| 16:45:20.005 |
+--------------+

示例

如果我们向函数的任何参数提供无效值,将会导致错误。

SQL> SELECT TIMEFROMPARTS(16, 4567876, 20, 843567886, 3) AS RESULT;

错误

当我们执行以上查询时,输出结果如下:

Cannot construct data type time, some of the arguments have values which are not valid.

示例

如果我们将函数的任何参数都设为null,则函数的结果也会是null。

SQL> SELECT TIMEFROMPARTS(16, null, 20, null, 3) AS RESULT;

输出

当我们执行上面的查询时,输出结果如下:

+--------+
| RESULT |
+--------+
| NULL   |
+--------+

示例

我们需要提供函数的所有五个参数。如果我们不提供参数,函数将会报错。

SQL> SELECT TIMEFROMPARTS(16, 30, 20, 45) AS RESULT;

输出

如果我们执行上述查询,结果如下所示 –

The timefromparts function requires 5 argument(s).

示例

假设我们使用以下查询语句使用CREATE语句在SQL数据库中创建了名为STUDENTS的表:

SQL> CREATE TABLE STUDENTS(ID INT NOT NULL, NAME VARCHAR (200) NOT NULL, HOURS VARCHAR (200) NOT NULL, MINUTES VARCHAR (200) NOT NULL, SECONDS VARCHAR (200) NOT NULL)

现在,让我们使用下面的查询语句在STUDENTS表中插入一些记录-

SQL> INSERT INTO STUDENTS(ID, NAME, HOURS, MINUTES, SECONDS) VALUES(1, 'Dhruv', '02', '25', '45');
INSERT INTO STUDENTS(ID, NAME, HOURS, MINUTES, SECONDS) VALUES(2, 'Arjun', '05', '45', '20');
INSERT INTO STUDENTS(ID, NAME, HOURS, MINUTES, SECONDS) VALUES(3, 'Dev', '06','30', '30');
INSERT INTO STUDENTS(ID, NAME, HOURS, MINUTES, SECONDS) VALUES(4, 'Riya', '10', '15', '50');
INSERT INTO STUDENTS(ID, NAME, HOURS, MINUTES, SECONDS) VALUES(5, 'Aarohi', '12', '00', '00');
INSERT INTO STUDENTS(ID, NAME, HOURS, MINUTES, SECONDS) VALUES(6, 'Lisa', '16', '45', '25');
INSERT INTO STUDENTS(ID, NAME, HOURS, MINUTES, SECONDS) VALUES(7, 'Roy', '18', '10', '10');

我们可以使用以下查询验证表格是否已创建:

SQL> SELECT * FROM STUDENTS

表格 STUDENTS 在 SQL 数据库中成功创建。

+-----+--------+-------+---------+---------+
| ID  | NAME   | HOURS | MINUTES | SECONDS |
+-----+--------+-------+---------+---------+
| 1   | Dhruv  | 02    | 25      | 45      |
| 2   | Arjun  | 05    | 45      | 20      |  
| 3   | Dev    | 06    | 30      | 30      |
| 4   | Riya   | 10    | 15      | 50      |
| 5   | Aarohi | 12    | 00      | 00      |
| 6   | Lisa   | 16    | 45      | 25      |
| 7   | Roy    | 18    | 10      | 10      |
+-----+--------+-------+---------+---------+

在这里,我们尝试使用以下查询将所有学生的时间值连接起来。

SQL> SELECT *, TIMEFROMPARTS(HOURS, MINUTES, SECONDS, 0, 5) AS TIMEFROMPARTS_VALUE FROM STUDENTS;

输出

执行上述查询时,输出结果如下:

+-----+--------+--------+---------+---------+---------------------+
| ID  | NAME   | HOURS  | MINUTES | SECONDS | TIMEFROMPARTS_VALUE |
+-----+--------+--------+---------+---------+---------------------+
| 1   | Dhruv  | 02     | 25      | 45      | 02:25:45.00000      |
| 2   | Arjun  | 05     | 45      | 20      | 05:45:20.00000      |
| 3   | Dev    | 06     | 30      | 30      | 06:30:30.00000      |
| 4   | Riya   | 10     | 15      | 50      | 10:15:50.00000      |
| 5   | Aarohi | 12     | 00      | 00      | 12:00:00.00000      |
| 6   | Lisa   | 16     | 45      | 25      | 16:45:25.00000      |
| 7   | Roy    | 18     | 10      | 10      | 18:10:10.00000      |
+-----+--------+--------+---------+---------+---------------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程