MySQL - 当前日期
通常,日期用三个值表示:日、月、年。日期有很多可能的变化,所有这些都取决于几个不一致的因素。
DD/MM/YYYY,例如 - 04/04/2024
YYYY/MM/DD,例如 - 2024/04/27
DD-MM-YYYY,例如 - 04-04-2024
MySQL 今日日期
我们有多个内置函数来检索和操作 MySQL 今日日期。以下是这些函数:CURDATE()、CURRENT_DATE()、CURRENT_DATE。
CURDATE():此函数以"YYYY-MM-DD"(字符串)或"YYYYMMDD"(数字)格式返回当前日期。
CURRENT_DATE():此函数与 CURDATE() 函数同义,后者以相同格式返回当前日期。
CURRENT_DATE:这也是 CURDATE() 函数的同义词。
MySQL CURDATE() 函数
在下面的示例中,我们使用 CURDATE() 函数检索当前日期值 -
SELECT CURDATE() AS Today;
输出
执行给定查询后,输出显示如下 -
Today |
---|
2023-04-27 |
MySQL CURRENT_DATE() 函数
类似地,我们也可以使用 CURRENT_DATE() 函数显示当前日期值。
SELECT CURRENT_DATE() AS Today;
输出
执行给定查询后,输出显示如下 -
Today |
---|
2023-04-27 |
MySQL CURRENT_DATE 函数
在此示例中,我们使用 CURRENT_DATE 函数检索系统本地的当前日期。
SELECT CURRENT_DATE AS Today;
输出
执行给定查询后,输出显示如下 -
Today |
---|
2023-04-27 |
在表中插入日期值
以下是在表中插入日期和时间值的步骤 -
首先,我们必须创建一个接受日期和时间值的表。
其次,我们必须将数据插入到新创建的表中,该表接受日期和时间数据类型。
示例
现在,让我们使用以下查询创建一个名为ORDERS的表 -
CREATE TABLE ORDERS ( OID INT NOT NULL, DATE VARCHAR (20) NOT NULL, CUSTOMER_ID INT NOT NULL, AMOUNT DECIMAL (18, 2) );
在这里,我们使用 INSERT INTO 语句将值插入到上面创建的表中,如下所示 -
INSERT INTO ORDERS VALUES (102, CURDATE() + 1, 3, 3000.00), (100, CURDATE() - 5, 3, 1500.00), (101, CURRENT_DATE() - 2, 2, 1560.00), (103, CURRENT_DATE + 3, 4, 2060.00);
表格创建如下 -
OID | DATE | CUSTOMER_ID | AMOUNT |
---|---|---|---|
102 | 20231012 | 3 | 3000.00 |
100 | 20231006 | 3 | 1500.00 |
101 | 20231009 | 2 | 1560.00 |
103 | 20231014 | 4 | 2060.00 |
使用客户端程序获取今日日期
我们也可以使用客户端程序获取今日日期。
语法
要通过 PHP 程序使用 CURDATE() 函数显示今天的日期,我们需要使用 mysqli 函数 query() 执行"SELECT"语句,如下所示 -
$sql = "SELECT CURRENT_DATE AS TODAYS_DATE"; $mysqli->query($sql);
要通过 JavaScript 程序使用 CURDATE() 函数显示今天的日期,我们需要使用 mysql2 库的 query() 函数执行"SELECT"语句,如下所示 -
sql = "SELECT CURDATE() AS TODAY_DATE"; con.query(sql)
要通过 Java 程序使用 CURDATE() 函数显示今天的日期,我们需要使用 JDBC 函数 executeQuery() 执行"SELECT"语句,如下所示 -
String curr_date = "SELECT CURDATE() AS TODAYS_DATE"; statement.executeQuery(curr_date);
要通过 Python 程序使用 CURDATE() 函数显示今天的日期,我们需要使用 MySQL Connector/Python 的 execute() 函数执行"SELECT"语句,如下所示 -
today_date_query = "SELECT CURDATE() AS Today" cursorObj.execute(today_date_query)
示例
以下是程序 -
$dbhost = 'localhost'; $dbuser = 'root'; $dbpass = 'password'; $db = 'TUTORIALS'; $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $db); if ($mysqli->connect_errno) { printf("Connect failed: %s
", $mysqli->connect_error); exit(); } //printf('Connected successfully.
'); $sql = "SELECT CURRENT_DATE AS TODAYS_DATE"; If($result = $mysqli->query($sql)){ printf("Select query executed successfully...! "); while($row = mysqli_fetch_array($result)){ printf("Todays date: %s", $row["TODAYS_DATE"]); } } if($mysqli->error){ printf("Error message: ", $mysqli->error); } $mysqli->close();
输出
获得的输出如下所示 -
Select query executed successfully...! Todays date: 2023-08-04
var mysql = require('mysql2'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "Password" }); //连接到 MySQL con.connect(function (err) { if (err) throw err; console.log("Connected!"); console.log("--------------------------"); sql = "CREATE DATABASE TUTORIALS;" con.query(sql); sql = "USE TUTORIALS;" con.query(sql); sql = "SELECT CURDATE() AS TODAY_DATE"; con.query(sql, function(err, result){ if (err) throw err console.log(result); }); });
输出
获得的输出如下所示 -
[ { TODAY_DATE: 2023-08-14T18:30:00.000Z } ]
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TodayDate { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/TUTORIALS"; String user = "root"; String password = "password"; ResultSet rs; try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection con = DriverManager.getConnection(url, user, password); Statement st = con.createStatement(); //System.out.println("Database connected successfully...!"); //find current date using CURDATE() function String curr_date = "SELECT CURDATE() AS TODAYS_DATE"; rs = st.executeQuery(curr_date); System.out.println("Today's date(using CURDATE() function): "); while(rs.next()) { String date = rs.getString("TODAYS_DATE"); System.out.println(date); } //find today's date using CURRENT_DATE() function String sql1 = "SELECT CURRENT_DATE() AS TODAY_DATE"; rs = st.executeQuery(sql1); System.out.println("Today's date(using CURRENT_DATE() function): "); while(rs.next()) { String dt = rs.getString("TODAY_DATE"); System.out.println(dt); } }catch(Exception e) { e.printStackTrace(); } } }
输出
获得的输出如下所示 -
Today's date(using CURDATE() function): 2023-08-14 Today's date(using CURRENT_DATE() function): 2023-08-14
import mysql.connector # 建立连接 connection = mysql.connector.connect( host='localhost', user='root', password='password', database='tut' ) # 创建游标对象 cursorObj = connection.cursor() # 显示今天的日期 today_date_query = "SELECT CURDATE() AS Today;" cursorObj.execute(today_date_query) # 获取并打印结果 today_date_result = cursorObj.fetchone() print("Today's Date:") print(today_date_result[0]) # 关闭游标和连接 cursorObj.close() connection.close()
输出
获得的输出如下所示 -
Today's Date: 2023-08-07