mysql date数据输入的时候 如果是日月年,应该怎么才能识别

如题所述

0 先理解下格式问题
要理解两种格式,一是mysql内部使用和存储时使用的格式,另一个是用户显示的格式;
存储格式:mysql保存日期时间值时使用的CCYY-MM-DD格式遵循ISO 8601标准;
显示格式:显示在输出界面上的格式,可以使用DATA_FORMAT()或TIME_FORMAT()函数来设置和转换;
1 转换和处理
1)提交数据,一是使用标准格式让其自动识别,二是对输入值进行格式指定和转换
insert into t (d) values('2012-01-01'); #使用默认ansi标准格式,让数据库自动识别字串为日期;
insert into t (d) values( STR_TO_DATE('2012/February/01', '%Y/%M/%d') ); #使用字符转换为日期的函数来处理自定义格式的输入值;

2)查询数据,一是不使用格式(即使用默认的CCYY-MM-DD格式),二是指定输出格式
select current_date(); #默认格式
select date_format(current_date(), ''%Y/%M/%d''); #使用自定义格式,具体参考下date_format的帮助,主要是格式控制符的使用。

2 格式化参数
DATE_FORMAT(), TIME_FORMAT(), STR_TO_DATE()这三个函数都接受格式化串作为参数来格式化日期时间

常用的格式化字符:
%Y 4位数字年份 2012
%y 2位数字年份 12
%M 完整英文月份名称,January - December
%b 月份名称前三个字母,Jan - Dec
%m 2位数字月份 01-12
%c 最小位数字月份 1-12
%d 2位数字日期 01-31
%e 最小位数字日期 1-31
%W 工作日名称 Sunday - Saturday
%r 12小时制时间,以AM或PM结尾
%T 24小时制时间
%H 24小时制小时 00-23
%i 2位数字分钟 00-59
%s 2位数字秒数 00-59
%% %文字字符
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-13
建议用JS日期插件解决日期输入问题,日期格式在JS中规范