日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql中year函数算年龄_MySQL中的YEAR函数

發布時間:2023/12/18 数据库 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql中year函数算年龄_MySQL中的YEAR函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一般這樣認為 YEAR類型占用1個字節,并且在定義時可以指定顯示的寬度為YEAR(4)或者YEAR(2),不過從MySQL5.6.6開始,YEAR(2)類型被自動裝換為YEAR(4),YEAR(2)類型被禁用。

(一)YEAR(2)類型被自動裝換為YEAR(4)

mysql>drop table if exists t;

Query OK,0 rows affected (0.01 sec)

mysql>create table t(a year(2));

Query OK,0 rows affected, 1 warning (0.00 sec)

mysql>show warnings\G;

***************************1. row ***************************

Level: Warning

Code: 1818

Message:YEAR(2) column type is deprecated. Creating YEAR(4) column instead.

1 row inset (0.00 sec)

ERROR:

No queryspecified

mysql>explain t;

+-------+---------+------+-----+---------+-------+

| Field |Type??? | Null | Key | Default | Extra |

+-------+---------+------+-----+---------+-------+

| a???? | year(4) | YES? |???? |NULL??? |?????? |

+-------+---------+------+-----+---------+-------+

1 row inset (0.00 sec)

mysql>insert into t select ‘14‘;

Query OK,1 row affected (0.00 sec)

Records:1? Duplicates: 0? Warnings: 0

mysql>select * from t;

+------+

| a??? |

+------+

| 2014 |

+------+

1 row inset (0.00 sec)

mysql>

(二)存在當前表中的YEAR(2)類型仍舊作為YEAR(2)存在和處理,但是下面幾種方式會自動轉換為YEAR(4):

(1)alter表

alter table語句與導致重建表:

mysql> alter table t modify a year(2);

Query OK, 0 rows affected, 1 warning (0.00 sec)

Records: 0 ?Duplicates: 0 ?Warnings: 1

mysql> explain t;

+-------+---------+------+-----+---------+-------+

| Field | Type ? ?| Null | Key | Default | Extra |

+-------+---------+------+-----+---------+-------+

| a ? ? | year(4) | YES ?| ? ? | NULL ? ?| ? ? ? |

+-------+---------+------+-----+---------+-------+

1 row in set (0.00 sec)

mysql> alter table t modify a year(2);

Query OK, 0 rows affected, 1 warning (0.01 sec)

Records: 0 ?Duplicates: 0 ?Warnings: 1

mysql> show warnings;

+---------+------+---------------------------------------------------------------------+

| Level ? | Code | Message ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

+---------+------+---------------------------------------------------------------------+

| Warning | 1818 | YEAR(2) column type is deprecated. Creating YEAR(4) column instead. |

+---------+------+---------------------------------------------------------------------+

1 row in set (0.01 sec)

(2)PEAIR TABLE

如果check table時,數據庫發現一張表中包含YEAR(2)列,就推薦使用YEAR(4)。

(3)mysql_upgrade

這個用于REPAIR TABLE的情況。

(4)在dump文件和重新裝載dump文件時,被影響的數據值都會在dump和裝載時存在潛在的影響。

總結

以上是生活随笔為你收集整理的mysql中year函数算年龄_MySQL中的YEAR函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。