在mysql中,一个时间字段的存储类型是int(11),怎么转化成字符类型,比方存储为13270655222,需要转化为yyyy -mm-dd的形式
站在用户的角度思考问题,与客户深入沟通,找到普洱网站设计与普洱网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、网页空间、企业邮箱。业务覆盖普洱地区。
使用 FROM_UNIXTIME函数,具体如下:
FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。
根据format字符串格式化date值。下列修饰符可以被用在format字符串中: %M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31)
%e 月份中的天数, 数字(0……31)
MySQL 数字类型转换函数(concat/cast)。
1、将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80′。
2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串。
总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型)。
-- 比如将123转换为char类型
SELECT CAST(123 AS CHAR);
方法一:SELECT CAST('123' AS SIGNED);
方法二:SELECT CONVERT('123',SIGNED);
方法三:SELECT '123'+0;
字符串类型的数字默认在比较大小时,往往会遇到一些坑,例如:在10和9比较大小时字符串类型的数字会以为9比10大,但事实上我们想要比较的结果是109,这是为什么呢?其实字符串在比较大小时,比较的是它对应的ASCII码,1的ASCII码比9对应的ASCII码小,系统就会认为109。 这时我们可以使用MySQL的 CAST() 函数,将想要转换的字符串转换成想要的类型。
例如:字符串‘123.45’可以转成整数,DECIMAL默认取得整数,也可以使用SIGNED
当然也可以指定小数位数,5代表了要取的数字位数(整数位和小数位和),2代表要取到的小数位数。
转换完成就可以用来进行后期的数值比较了!