我爱普洱茶 发表于 2024-8-25 22:45:47

MySQL——日期与时间类型

        为了方便在数据库中存储日期和时间,MySQL 提供了表示日期和时间的数据类型分别是 YEAR、DATE、TIME、DATETIME 和 TIMESTAMP。下表列举了这些 MySQL 中日期和时间数据类型所对应的字节数、取值范围、日期格式以及零值。
数据类型字节数取值范围日期格式零值YEAR11901~2155YYYY0000DATE41000-01-01~9999-12-3YYYY-MM-DD0000-00-00TIME3
 -838:59:59~838:59:59
1000-01-01HH:MM:SS00:00:00DATETIME8
 00:00:00~9999-12-31 23:59:59YYYY-MM-DDHH:MM:SS0000-00-00 00:00:00TIMESTAMP41970-01-01 00:00:01~2038-01-19 03:14:07YYYY-MM- DDHH:MM:SS0000-00-00 00:00:00         从表中可以看出,每种日期和时间类型的取值范围都是差别的。需要注意的是假如插入的数值不正当,体系会主动将对应的零值插入数据库中。
1. YEAR 类型

YEAR 类型用于表示年份,在 MySQL中,可以使用以下三种格式指定 YEAR 类型的值。
           (1)使用4位字符串或数字表示,范围为 ' 1901 ' ~ ' 2155 ' 或 1901~2155。例如,输入 ' 2014 ' 或 2014,插入到数据库中的值均为 2014 。

        (2)使用两位字符串表示,范围为 ' 00 ' ~ ' 99 ' ,其中, ' 00 ’ ~ ' 69 ' 范围的值会被转换为 2000~2069 范围的 YEAR值, ' 70 ’~ ' 99 ' 范围的值会被转换为 1970~1999 范围的 YEAR 值。例如,输入 ' 14 ' ,插入到数据库中的值为 2014 。

        (3)使用两位数字表示,范围为 1~99,其中,1~69 范围的值会被转换为 2001~2069 范围的 YEAR值,70~99 范围的值会被转换为 1970~1999 范围的 YEAR 值。例如,输入 14,插入到数据库中的值为 2014。
        需要注意的是,当使用 YEAR 类型时,一定要区分 ' 0 ' 和 0。因为字符串格式的 ' 0 ' 表示的 YEAR 值是 2000,而数字格式的 0 表示的 YEAR 值是 0000。
2. DATE 类型

        DATE类型用于表示日期值,不包罗时间部门。在 MySQL中,可以使用以下 4 种格式指定 DATE 类型的值。
           (1)以 ' YYYY-MM-DD ' 或者 ' YYYYMMDD ' 字符串格式表示。
                例如,输人 ' 2014-01-21 ' 或 ' 20140121 ',插入数据库中的日期都为 2014-01-21。
           (2)以 ' YY-MM-DD ' 或者 ' YYMMDD ' 字符串格式表示。YY 表示的是年,范围为 ' 00 ' ~ ' 99 ',其中 ' 00 ' ~'  69 ' 范围的值会被转换为 2000~2069 范围的值, ' 70 ’ ~ ' 99 ' 范围的值会被转换为 1970~1999 范围的值。
                例如,输入 ' 14-01-21 ' 或 ' 140121 ',插人数据库中的日期都为 2014-01-21。 
         (3)以 YY-MM-DD 或者 YYMMDD 数字格式表示。
                例如,输入 14-01-21或140121,插人数据库中的日期都为 2014-01-21
           (4)使用 CURRENT DATE 或者 NOW() 表示当前体系日期。
3.TIME 类型

        TIME 类型用于表示时间值,它的显示情势一般为 HH:MM:SS,其中,HH 表示小时,MM 表示分,SS表示秒。在 MySQL中,可以使用以下三种格式指定 TIME 类型的值。
           (1)以 ' D HH;MM;SS ' 字符串格式表示。其中,D表示日,可以取 0~34 之间的值插入数据时,小时的值即是(Dx24+HH)。
                例如,输人 ' 2 11;30.50 ' ,插人数据库中的日期为 59:30:50。
           (2)以 ' HHMMSS ' 字符串格式或者 HHMMSS 数字格式表示。
                例如,输人 ' 345454 ' 或 345454,插入数据库中的日期为 34:54:54。
           (3)使用CURRENT_TIME或 NOWO)输人当前体系时间。
                DATETIME类型用于表示日期和时间,它的显示情势为 ' YYYY-MM-DD HH ' 。
4. DATETIME 类型

        DATETIME类型用于表示日期和时间,它的显示情势为:' YYYY-MM-DD HH MM:SS ' ,        其中,YYYY 表示年,MM 表示月,DD 表示日,HH 表示小时,MM 表示分,SS表示秒。在 MySQL 中,可以使用以下 4 种格式指定 DATETIME 类型的值。
           (1)以 ' YYYY-MM DD HH;MM;SS ' 或者 ' YYYYMMDDHHMMSS ' 字符串格式表示的日期和时间。取值范围为 ' 1000-01-01 00;00:00 ' - ' 9999-12-31 23:59;59 ' 例如,输入 ' 2014-01-22 09:01;23 ' 或 20140122090123 ,插人数据库中的 DATETIME 值都为 2014-01-22 09:01:23。

        (2)以 ' YY-MM-DD HH:MM;SS ' 或者 ' YYMMDDHHMMSS ' 字符串格式表示的日值都为 2014-01-22 09;01:23。日期和时间,其中 YY表示年,取值范围为 ' 00 ' ~ ' 99 ’ 。与 DATE 类型中的 YY 相同,' 00 ' ~ ' 69 ' 范围的值会被转换为 2000~2069 范围的值,' 70 ’ ~ ' 99 ' 范围的值会被转换为 1970~1999 范围的值。

        (3)以 YYYYMMDDHHMMSS 或者 YYMMDDHHMMSS 数字格式表示的日期和时间。例如,插入 20140122090123 或者 140122090123 ,插入数据库中的 DATETIME 值都为 2014-01-22 09:01:23。

        (4)使用 NOW( ) 来输入当前体系的日期和时间。
5.TIMESTAMP 类型

        TIMESTAMP 类型用于表示日期和时间,它的显示情势与 DATETIME 相同,但取值范围比 DATETIME 小。下面介绍几种 TIMESTAMP 类型与 DATATIME 类型差别的情势,详细如下。
   (1)使用CURRENT_TIMESTAMP 来输人体系当前日期和时间

(2)输入 NULL时,体系会输人体系当前日期和时间。

(3)无任何输入时,体系会输入体系当前日期和时间。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: MySQL——日期与时间类型