首先第一种转换方式是:将字符串类型的转换成数字类型的,这中方法转换直接用to_number()进行转换,具体的语法为to_number(str)就可以了。
请点击输入图片描述
当然上面是简单的形式,是根据字符串的形式直接改变成数字类型的,当然如果们对数字做了一点要求,那该如何呢?
请点击输入图片描述
请点击输入图片描述
第二种:将数字类型转换成字符串类型的。
这种转换方式用to_char(),其实转换的方式有点类似上面的to_number()模式,至于后面的999代表的和上面的意思一样。
请点击输入图片描述
请点击输入图片描述
第三种:将日期类型转换成字符串类型
这种方法其实也用的是to_char(),就是将日期格式的转换成自己想要的格式类型的,这种方法比较个性化一点。
请点击输入图片描述
下面这种将日期类型转换成我们常见的字符串类型,这种转换方式用的频率比较多一点,也是一种比较全的字符串格式。
请点击输入图片描述
最后一种:将字符串类型转换成日期类型,这种转换方式用to_date()进行转换。用法也比较简单,转换的日期格式也是自己自定义的。
请点击输入图片描述
最后总结一下:这三种转换无非就是to_char(),to_number(),to_date()之间的转换,当我们在计算的时候,一定要通过转换的方式转换成同一种类型再进行计算。
平时为了方便存储和查询,通常会选择将时间存储为毫秒或者秒的形式。但是页面显示的时候很不直观,需要将整型数字转化成日期格式,转化方式包括下面几种:
1、秒数与Date之间的转换:selectfrom_unixtime(1388776825)
还可以定义时间格式,用法如下:
SELECTFROM_UNIXTIME(1388776825,'%Y-%m-%d%H:%m:%s')
结果:2014-01-0403:01:25
SELECT FROM_UNIXTIME(1388776825,'%Y年%m月%d')
结果:2014年1月4
2、将秒数转为Date:SELECTUNIX_TIMESTAMP('2014-03-2310:10:40')
如果想逆向转换,可以通过unix_timestamp()函数反向转换。用法如下:
SELECTUNIX_TIMESTAMP()//获取当前时间的秒数
SELECTUNIX_TIMESTAMP('2014-03-2310:10:40')//获取指定日期格式的秒数
SELECTUNIX_TIMESTAMP('2014-03-23')//获取指定日期格式的秒数
扩展资料:
一、date型换int型
SELECTUNIX_TIMESTAMP(‘2017-9-2213:54:45’)
二、int型转date型
SELECTFROM_UNIXTIME(1506059685)
需要注意的是,一个int值转换为DateTime需要从1970年1月1日0点0分0秒开始,但是必须明确,这个时间是标准时间,而不是北京时间。
数据库中数据的时间都是以标准时间为准绳的。所以必须转换到当前时间,中国是+8,可以简单的调用ToLocalTime达到效果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)