FROM_UNIXTIME
用法:
from_unixtime(n [, 'format'])

功能:
将时间戳转化为以当前会话时区表示的日期时间值。若指定format参数,则时间戳转化为以当前会话时区表示的日期时间后,根据format参数的格式化规则再将其格式化成字符串。 兼容MySQL的from_unixtime函数。
参数说明:
n:bigint、numeric等数值类型或double precision等浮点数类型。参数存在小数时,将其四舍五入成六位小数后进行计算。
format:text类型,指定格式规则。具体见下表:
值 | 描述 |
|---|---|
%a | 周缩写(Sun...Sat) |
%b | 月缩写(Jan...Dec) |
%c | 月份(0..12,不补零) |
%D | 有英语后缀的一个月中第几天(0th,1st,2nd,3rd...) |
%d | 一个月中第几天(00..31) |
%e | 一个月中第几天(0..31) |
%f | 微秒值(000000..999999) |
%H | 24小时制小时(00..23) |
%h | 12小时制小时(01..12) |
%I | 12小时制小时(01..12) |
%i | 分钟值(00..59) |
%j | 一年中的天(001..366) |
%k | 24小时制小时(0..23,不补零) |
%l | 12小时制小时(1..12,不补零) |
%M | 月份名称(January..December) |
%m | 月份(00..12) |
%p | AM 或 PM |
%r | 12小时制的时间,带AM或PM Hh: mm: ss 后跟 AM 或 PM |
%S | 秒值(00..59) |
%s | 秒值(00..59) |
%T | 24小时制时间(hh:mm:ss) |
%U | 一年中的周数,周日作为一周的第一天,mode为0 |
%u | 一年中的周数,周一作为一周的第一天,mode为1 |
%V | 一年中的周数,周日作为一周的第一天,mode为2,和%X一起使用 |
%v | 一年中的周数,周一作为一周的第一天,mode为3,和%x一起使用 |
%W | 星期名 (Sunday..Saturday) |
%w | 一周的第几天(0=Sunday..6=Saturday) |
%X | 星期日是一周的第一天的一周的年份,四位数字,和%V一起使用 |
%x | 星期一是一周的第一天的一周的年份 ,四位数字,和%v一起使用 |
%Y | 年份值,四位数字(XXXX) |
%y | 年份值,两位数字(XX) |
%% | 字面值%,字符 |
%x | 对于上面没有列出的任何值(x) |
返回值:
函数返回值根据参数数量决定,未指定format参数时,返回timestamp类型;指定了format参数时,返回text类型。
注意
参数n为负数时,函数返回为空;
参数n为NULL时,函数返回空;
参数n为空值‘’ 或空格‘ ’时,返回值为“1970-01-01 00:00:00”,若指定了format参数,再根据format参数进行格式化;
format参数为不合法或不能匹配的字符串时,返回format参数值。
例子:
SELECT FROM_UNIXTIME(0) "FROM_UNIXTIME"; FROM_UNIXTIME --------------------- 1970-01-01 08:00:00 SELECT FROM_UNIXTIME(100.123456) "FROM_UNIXTIME"; FROM_UNIXTIME --------------------------- 1970-01-01 08:01:40.123456 SELECT FROM_UNIXTIME(100) "FROM_UNIXTIME"; FROM_UNIXTIME --------------------- 1970-01-01 08:01:40 SELECT FROM_UNIXTIME(1,'%y-%m-%d %h:%i:%s') "FROM_UNIXTIME"; FROM_UNIXTIME -------------------- 70-01-01 08:00:01 SELECT FROM_UNIXTIME(1,'abc') "FROM_UNIXTIME"; FROM_UNIXTIME -------------------- abc




