首页 > 数据库 > 国内数据库 > YashanDB TO_DATE函数

TO_DATE函数将 expr的值转换为DATE类型数据,返回值格式为DATE类型数据的默认格式。
expr
expr的值须为字符型,或可以转化为字符型的类型(LOB类型支持隐式转换),且其内容须符合format格式,否则返回格式转换错误。
当expr的值为NULL时,函数返回NULL。
对于列存表中的LOB类型字段,若某行数据为行外存储,则无法使用本函数。
DEFAULT replace_expr ON CONVERSION ERROR
表示当对expr转换失败时,使用replace_expr值来进行转换,replace_expr为一个字符串字面量,其内容须符合format格式。
示例
format
format用于指定expr的时间格式,其值须为字符型,可省略,省略则默认expr格式同DATE类型的默认格式。
format支持中文年月日,须用双引号包围中文字符,expr中的中文字符无须用双引号包围。
如果format中未指定年,则会获取当前年份然后填充;如果不存在月,则会获取当前月份然后填充;如果不存在日,则会用1来填充;未指定时间用0来填充。
YashanDB支持不含连接字符的expr与format进行匹配,该匹配须遵循如下规则:
指定转换的格式,包括如下字符组合:
YYYY、
YYY、
YY、
Y、
RRRR、
RRMMMONTHMONQDDDAYDDDDHH24HH、
HH12MISSSSSSSJ:、
-、
/、
.、
,、
;、
\、
_、
、
[、
]
:、
-、
/、
.、
,、
;、
\、
_ 、
、
[、
]:连接符之间可以相互匹配:空格可不参与匹配(以下格式符列存表暂不支持)
JNote:
日期描述类格式须与年月日格式同时指定,且expr中日期描述须与年月日匹配,否则返回错误。 有符号年份'SYYYY'格式符暂未实现,目前和无符号年份'YYYY'格式符完全等价。 当儒略日计数范围在[1,1721057]之内,对应实际年份为负数。
其中对于年格式的指定存在如下转换规则:
| expr\format | Y | YY | YYY | YYYY |
|---|---|---|---|---|
| 1 | 2021-06-01 | 2001-06-01 | 2001-06-01 | 0001-06-01 |
| 12 | 报错 | 2012-06-01 | 2012-06-01 | 0012-06-01 |
| 123 | 报错 | 0123-06-01 | 2123-06-01 | 0123-06-01 |
| 1234 | 报错 | 1234-06-01 | 报错 | 1234-06-01 |
示例
nls_calendar
指定数据库使用的日历系统,仅支持为字符串类型,默认值为gregorian,否则返回类型错误,当前YashanDB仅支持日历系统为gregorian的情况,其他情况将会报错。
示例
TO_DATE函数将 expr的值转换为DATE类型数据,返回值格式为DATE类型数据的默认格式。
expr
expr的值须为字符型,或可以转化为字符型的类型(LOB类型支持隐式转换),且其内容须符合format格式,否则返回格式转换错误。
当expr的值为NULL时,函数返回NULL。
对于列存表中的LOB类型字段,若某行数据为行外存储,则无法使用本函数。
DEFAULT replace_expr ON CONVERSION ERROR
表示当对expr转换失败时,使用replace_expr值来进行转换,replace_expr为一个字符串字面量,其内容须符合format格式。
示例
format
format用于指定expr的时间格式,其值须为字符型,可省略,省略则默认expr格式同DATE类型的默认格式。
format支持中文年月日,须用双引号包围中文字符,expr中的中文字符无须用双引号包围。
如果format中未指定年,则会获取当前年份然后填充;如果不存在月,则会获取当前月份然后填充;如果不存在日,则会用1来填充;未指定时间用0来填充。
YashanDB支持不含连接字符的expr与format进行匹配,该匹配须遵循如下规则:
指定转换的格式,包括如下字符组合:
YYYY、
YYY、
YY、
Y、
RRRR、
RRMMMONTHMONQDDDAYDDDDHH24HH、
HH12MISSSSSSSJ:、
-、
/、
.、
,、
;、
\、
_、
、
[、
]
:、
-、
/、
.、
,、
;、
\、
_ 、
、
[、
]:连接符之间可以相互匹配:空格可不参与匹配(以下格式符列存表暂不支持)
JNote:
日期描述类格式须与年月日格式同时指定,且expr中日期描述须与年月日匹配,否则返回错误。 有符号年份'SYYYY'格式符暂未实现,目前和无符号年份'YYYY'格式符完全等价。 当儒略日计数范围在[1,1721057]之内,对应实际年份为负数。
其中对于年格式的指定存在如下转换规则:
| expr\format | Y | YY | YYY | YYYY |
|---|---|---|---|---|
| 1 | 2021-06-01 | 2001-06-01 | 2001-06-01 | 0001-06-01 |
| 12 | 报错 | 2012-06-01 | 2012-06-01 | 0012-06-01 |
| 123 | 报错 | 0123-06-01 | 2123-06-01 | 0123-06-01 |
| 1234 | 报错 | 1234-06-01 | 报错 | 1234-06-01 |
示例
nls_calendar
指定数据库使用的日历系统,仅支持为字符串类型,默认值为gregorian,否则返回类型错误,当前YashanDB仅支持日历系统为gregorian的情况,其他情况将会报错。
示例
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3092971/ ,如需转载,请注明出处,否则将追究法律责任。