mysql数据库Date相关内容

数据库中获取当前日期

- select now();
获取当前日期,包含时分秒
- select date_format(now(),’%Y-%m-%d’);
将当前日期转为格式为: 2019-11-19的字符串
%Y和%y的区别则是:前者查询出完整2018,后者则是查询简写的18;
- select curdate();
查询出当前日期2018-06-08,不带时分秒,日期格式;
- select curtime();
查询出当前时间13:40:11,不带年月日,日期格式;
- select dayofweek(now());
查询出一个数字,代表着星期;
星期的排列方式为:星期日:1;星期一:2;…以此类推

sql中字符串与date转换

- Date---->String
使用的函数:DATE_FORMAT(date,format) date:需要转换的日期 format:格式化的样式
format样式整理:
: %Y 显示四位 : 2015
%y 只显示后两位 :15
: %M 月份的英文显示:October
%m 月份的阿拉伯显示:01-12
%b 月份的英文缩略显示:Oct
%c 月份的阿拉伯显示:1-12
: %d 阿拉伯显示:00-31
%D 带有英文后缀:1st-31th
%e 阿拉伯显示:1-31
%j 年的天:001-366
时: %H :00-23
%h:01-12
%I:01-12
%k:0-23
%l:1-12
: %i:00-59
: %S:00-59 %s:00-59
微妙: %f
AM/PM: %p
12小时制时间:%r: 02:02:44 PM
24小时制时间: %T: 14:02:44
: %W:周的英文显示
%w 周的阿拉伯显示 :0(星期日)-6(星期六)
%a 周的英文缩略显示:Mon-

- String---->Date
使用的函数:STR_TO_DATE(str,format) str:字符形式的日期 format:格式化样式

### 关于 MySQL 中 `DATE(10)` 的含义与用法 在 MySQL 中,`DATE` 是一种数据类型,用于存储日期值,格式为 `YYYY-MM-DD`。然而,`DATE(10)` 并不是标准的 MySQL 数据类型定义方式[^5]。通常情况下,`DATE` 类型不会接受长度参数 `(10)`,因为其固定长度为 10 个字符(包括年、月、日以及分隔符 `-`)。如果用户在表定义中使用了类似 `DATE(10)` 的语法,这可能是一个误解或错误。 #### 正确的 DATE 类型定义 正确的 `DATE` 类型定义如下: ```sql CREATE TABLE example_table ( id INT PRIMARY KEY, date_column DATE ); ``` #### 可能的误解 如果用户在表定义中看到了 `DATE(10)`,这可能是以下情况之一: 1. **非标准语法**:某些数据库管理系统可能支持为数据类型指定显示宽度,但 MySQL 的 `DATE` 类型并不支持这种语法。尝试定义 `DATE(10)` 会导致错误。 2. **字符串类型误用**:有时开发者可能将日期存储为字符串类型,并通过 `VARCHAR(10)` 或其他字符串类型来模拟日期格式。例如: ```sql CREATE TABLE example_table ( id INT PRIMARY KEY, date_column VARCHAR(10) ); ``` 在这种情况下,虽然可以存储类似 `YYYY-MM-DD` 的日期字符串,但这并不是推荐的做法,因为它会失去日期类型的内置功能(如日期计算格式化)。 #### 示例代码 以下是一个示例,展示如何正确使用 `DATE` 类型以及如何避免误用: ```sql -- 正确的 DATE 类型定义 CREATE TABLE correct_date_usage ( id INT PRIMARY KEY, date_column DATE ); -- 插入日期值 INSERT INTO correct_date_usage (id, date_column) VALUES (1, '2023-10-05'); -- 查询日期值 SELECT * FROM correct_date_usage; -- 错误的 DATE(10) 定义尝试 CREATE TABLE incorrect_date_usage ( id INT PRIMARY KEY, date_column DATE(10) -- 这将导致语法错误 ); ``` #### 注意事项 - 如果需要存储时间戳或更复杂的日期时间信息,可以考虑使用 `DATETIME` 或 `TIMESTAMP` 类型。 - 确保在设计数据库时遵循最佳实践,避免将日期存储为字符串类型,以充分利用数据库的内置功能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值