MySQL - TIMESTAMP() 函数
MySQL TIMESTAMP() 函数用于将日期或日期时间表达式转换为日期时间值,并以字符串形式返回结果。
此函数接受两个表达式作为参数。如果只传递一个表达式作为参数,则此函数将日期或日期时间表达式作为日期时间值返回。
我们还可以传递第二个参数,该参数表示时间表达式。如果执行此操作,则会将指定的时间表达式添加到给定的日期中。
如果作为参数传递的任何表达式为 NULL,则返回 NULL 值。
语法
以下是 MySQL TIMESTAMP() 函数的语法 -
TIMESTAMP(expr)
参数
此方法接受表示日期或日期时间值的表达式作为参数。
返回值
此函数返回格式为"YYYY-MM-DD HH:MM:SS"的时间戳值。
示例
在下面的查询中,我们使用 MySQL TIMESTAMP() 函数将提供的字符串转换为时间戳格式−
SELECT TIMESTAMP('2023:11:17') As Result;
输出
这将产生以下结果 -
Result |
---|
2023-11-17 00:00:00 |
示例
我们也可以将日期时间表达式作为参数传递给此函数 -
SELECT TIMESTAMP('2023-11-17 09:40:45.2300') As Result;
输出
以下是输出结果 -
Result |
---|
2023-11-17 09:40:45.2300 |
示例
在以下查询中,我们将时间值添加到当前时间戳 -
SELECT TIMESTAMP(CURRENT_TIMESTAMP, '12:12:12') As Result;
输出
以下是输出结果 -
Result |
---|
2023-11-18 02:24:06 |
示例
这里,我们将 CURTIME() 函数的结果作为第二个参数传递给该函数 -
SELECT TIMESTAMP('2023:11:17', CURTIME()) As Result;
输出
以下是输出结果 -
Result |
---|
2023-11-17 14:12:23 |
示例
在此示例中,我们使用以下 CREATE TABLE 查询创建了一个名为 ORDERS 的表 -
CREATE TABLE ORDERS ( OID INT NOT NULL, DATE VARCHAR (20) NOT NULL, CUSTOMER_ID INT NOT NULL, AMOUNT DECIMAL (18, 2) );
现在,使用 INSERT 语句将以下记录插入到 ORDERS 表中 -
INSERT INTO ORDERS VALUES (102, '2009-10-08 00:00:00', 3, 3000.00), (100, '2009-10-08 00:00:00', 3, 1500.00), (101, '2009-11-20 00:00:00', 2, 1560.00), (103, '2008-05-20 00:00:00', 4, 2060.00);
执行以下查询以获取上述创建的表中的所有插入记录 -
Select * From ORDERS;
以下是 ORDERS 表 -
OID | DATE | CUSTOMER_ID | AMOUNT |
---|---|---|---|
102 | 2009-10-08 00:00:00 | 3 | 3000.00 |
100 | 2009-10-08 00:00:00 | 3 | 1500.00 |
101 | 2009-11-20 00:00:00 | 2 | 1560.00 |
103 | 2008-05-20 00:00:00 | 4 | 2060.00 |
在这里,我们使用 MySQL TIMESTAMP() 函数将指定的时间值(12:00:00)添加到"DATE"列中的日期时间值 -
SELECT OID, DATE, TIMESTAMP(DATE, '12:00:00') As Result FROM ORDERS;
输出
输出显示如下 −
OID | DATE | Result |
---|---|---|
102 | 2009-10-08 00:00:00 | 2009-10-08 12:00:00.000000 |
100 | 2009-10-08 00:00:00 | 2009-10-08 12:00:00.000000 |
101 | 2009-11-20 00:00:00 | 2009-11-20 12:00:00.000000 |
103 | 2008-05-20 00:00:00 | 2008-05-20 12:00:00.000000 |