日期/时间转换模板模式
Netezza Performance ServerSQL 可识别输出模板中的某些模式,并将其替换为适当格式化的数据。
| 模式 | 描述 | 示例 |
|---|---|---|
HH 或 HH12 |
小时 (01-12)。 | to_char(timestamp '2015-02-14 20:19:07','HH') 返回: '08' |
HH24 |
时间 (00-23)。 | to_char(timestamp '2015-02-14 20:19:07',
'HH24') 返回: '20' |
MI |
分钟 (00-59)。 | to_char(timestamp '2015-02-14 20:19:07','MI') 返回: '19' |
SS |
第二(00-59)。 | to_char(timestamp '2015-02-14 20:19:07','SS') 返回: '07' |
SSSS |
午夜过去秒数 (0-86399)。 | to_char(timestamp '2015-02-14 20:19:07',
'SSSS') 返回: '73147' |
MS |
四舍五入后的毫秒数00-00.999)。 | to_char(timestamp '2015-02-14 20:19:07.123456789',
'MS') 返回: '123' |
US |
四舍五入后的微秒数00-00.999999)。 | to_char(timestamp '2015-02-14 20:19:07.123456789',
'US') 返回: '123457' |
|
子午线指示器(大写或小写,带或不带句号)。 模板指定的子午线指标将在输出中调整为与小时相对应(0-12 小时为上午,12-23 小时为下午)。 输出时使用模板指定的子午线指示符格式(大写或小写,带或不带句号)。 | to_char(timestamp '2015-02-14 20:19:07',
'HH:MI:SS am') 返回: '08:19:07 pm' |
Y,YYY |
年份(4 位或更多数字),用逗号隔开。 | to_char(date '2016-02-14','Y,YYY') 返回: '2,016' |
YYYY |
年份(4 位及以上数字)。 | to_char(date '2016-02-14','YYYY') 返回: '2016' |
YYY |
年份的最后 3 个数字。 | to_char(date '2016-02-14','YYY') 返回: '016' |
YY |
年份的最后两位数。 | to_char(date '2016-02-14','YY') 返回: '16' |
Y |
今年的最后一位数。 | to_char(date '2016-02-14','Y') 返回: '6' |
IYYY |
ISO 年份(4 位及以上数字)。 | to_char(date '2016-01-01','IYYY') 返回: '2015' |
IYY |
ISO 年的最后 3 位数字。 | to_char(date '2016-02-14','IYY') 返回: '015' |
IY |
ISO 年的最后两位数。 | to_char(date '2016-02-14','IY') 返回: '15' |
I |
国际标准化组织年份的最后几位数。 | to_char(date '2016-02-14','I') 返回: '5' |
|
年代指示符(大写或小写,有无句号)。 输出时使用模板指定的年代指标格式(大写或小写,带或不带句号)。 | to_char(date '2016-02-14','YYYY
B.C.') 返回: '2016 A.D.' |
MONTH |
全大写月份名称,尾部空格不超过 9 个字符。 | to_char(date '2016-02-14','MONTH') 返回: 'FEBRUARY
' |
Month |
混合大小写的全月名,以 9 个字符为限。 | to_char(date '2016-03-14','Month') 返回: 'March
' |
month |
全小写月份名称,尾部空格为 9 个字符。 | to_char(date '2016-04-14','month') 返回: 'april
' |
MON |
大写月名缩写(3 个字符)。 | to_char(date '2016-02-14','MON') 返回: 'FEB' |
Mon |
混合大小写月份名称缩写(3 个字符)。 | to_char(date '2016-03-14','Mon') 返回: 'Mar' |
mon |
小写月份名称缩写(3 个字符)。 | to_char(date '2016-04-14','mon') 返回: 'apr' |
MM |
月份编号(01-12)。 | to_char(date '2016-04-14','MM') 返回: '04' |
DAY |
全大写日名,尾部空格不超过 9 个字符。 | to_char(date '2016-02-15','DAY') 返回: 'MONDAY
' |
Day |
混合大小写日名,尾部空格不超过 9 个字符。 | to_char(date '2016-02-16','Day') 返回: 'Tuesday
' |
day |
全小写日名,尾部空格不超过 9 个字符。 | to_char(date '2016-02-17','day') 返回: 'wednesday' |
DY |
缩写大写日名(3 个字符)。 | to_char(date '2016-02-15','DY') 返回: 'MON' |
Dy |
混合大小写日名缩写(3 个字符)。 | to_char(date '2016-02-16','Dy') 返回: 'Tue' |
dy |
小写日名缩写(3 个字符)。 | to_char(date '2016-02-17','dy') 返回: 'wed' |
DDD |
年月日 (001-366)。 | to_char(date '2016-02-17','DDD') 返回: '048' |
DD |
月份(01-31)。 | to_char(date '2016-02-17','DD') 返回: '17' |
D |
星期几(1-7;Sunday=1)。 | to_char(date '2016-02-17','D') 返回: '4' |
W |
每月的周(1-5),其中第一周从每月的第一天开始。 | to_char(date '2016-02-17','W') 返回: '3' |
WW |
年的周数(01-53),其中第一周从年的第一天开始。 | to_char(date '2016-02-17','WW') 返回: '07' |
IW |
ISO 年的周数。 新年的第一个星期四是第 1 周。 | to_char(date '2016-01-01','IW') 返回: '53' |
CC |
世纪(2 位数)。 | to_char(date '2016-02-17','CC') 返回: '21' |
J |
儒略日,即自公元前 4714 年 11 月 24 日以来的天数。 | to_char(date '2016-02-17','J') 返回: '2457389' |
Q |
季度 | to_char(date '2016-02-17','J') 返回: '1' |
RM |
月份用大写罗马数字表示(I-XII;I=1 月),尾部空格不超过 4 个字符。 | to_char(date '2016-04-11','RM') 返回: 'IV
' |
rm |
月份用小写罗马数字表示(i-i-xii;i=1 月),尾部空格为 4 个字符。 | to_char(date '2016-10-11','RM') 返回: 'X
' |
用法说明:
- 模板中的空格会反映在输出中。 例如,"
to_char(timestamp '2015-02-14 20:19:07','HH MI SS')返回 "'08 19 07'。 - 要输出文本,请将其放在双引号内。 例如,"
to_char(date '2016-04-02','"Year: "YYYY')返回 "'Year: 2016'。 - 要输出双引号,请在双引号前加上反斜杠。 例如,"
to_char(date '2015-02-14','\"YYYY\" \"FMMonth\"')返回 "'"2015" "February"'。
您可以对任何模板模式应用以下修改器来改变其行为。
| 修饰符 | 描述 |
|---|---|
FM |
抑制前导零和尾部空白,否则会增加输出固定宽度。 例如:
|
FX |
强制输入字符串至少包含模板中指定的空白:
|
TH |
添加适当的大写序号后缀(ST、ND、RD 或 TH)。 例如:
|
th |
添加适当的小写序号后缀(st、nd、rd 或 th)。 例如:
|
下表描述了数字转换的模板模式。
| 模式 | 描述 | 示例 |
|---|---|---|
9 |
表示数字的位置。 如果模板中的每个 9 都与输出中的数字不对应,则输出中将包含一个空格。 | to_char(-125,'999')返回 "'-125'",""返回 " to_char(-125,'99999')","' -125'"返回 ""," to_char(125,'999')返回 "' 125'。 |
0 |
表示前导零的位置。 | to_char(-125,'00999') 返回: '-00125' |
. |
句号表示小数点的位置。 | to_char(-125,'999.999') 返回: '-125.000' |
, |
逗号表示组(千)分隔符的位置。 使用哪种分隔符取决于您的本地语言。 | |
PR |
该后缀会使负值显示在角括号中。 不影响正值。 | to_char(-485,'999PR') 返回: '<485>' |
S |
该前缀或后缀在相应位置上放置一个加号 (+) 或减号 (-)。 | to_char(485,'S999') 返回: '+485' |
L |
货币符号。 使用哪个符号取决于您所在的地区。 | |
D |
小数分隔符。 使用哪种分隔符取决于您的本地语言。 | to_char(-125,'999D99') 返回: '-125.00' |
G |
组分隔符(使用本地语言)。 | to_char(-3125,'9G999D9') 返回: '-3125.0' |
MI |
这个前缀或后缀:
|
to_char(-485,'MI999')返回 "'-485'""" to_char(-485,'999MI')返回 "'485-'"""" to_char(485,'MI999') "返回 "' 485'""" to_char(485,'999MI') 返回 "' 485 ' |
RN |
罗马数字(输入 1 - 3999)。 罗马数字忽略十进制分数。 | to_char(5.2,'RN') 返回: 'V' |
V |
在 V 的右边每移动一个 9,输出就移动 10 的一个幂。 对于 to_char 函数,模板不能同时包含 V 型和小数点。 例如,不允许使用 "99.9V99或 "99D9V99。 |
to_char(12.4,'99V999')返回 "' 12400'"""" to_char(12.45,'99V9')返回 "' 125' |