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

