Database PL/SQL日期插入
我正在以“dd/mm/yyyy”格式触发一个插入查询,但它正在以mm/dd/yyyy格式存储日期。 我只是想知道为什么会这样 这是我正在使用的插入查询Database PL/SQL日期插入,database,date,plsql,plsqldeveloper,Database,Date,Plsql,Plsqldeveloper,我正在以“dd/mm/yyyy”格式触发一个插入查询,但它正在以mm/dd/yyyy格式存储日期。 我只是想知道为什么会这样 这是我正在使用的插入查询 插入txnblackout(endtime、idtxn、blackoutflag、starttime、startdate、typeuser、id_实体、idsequence、idapp、enddate) 值('83520','LGN','D','7920',截止日期('30/12/2012','dd/mm/yyyy'),'ECU','B001',
插入txnblackout(endtime、idtxn、blackoutflag、starttime、startdate、typeuser、id_实体、idsequence、idapp、enddate)
值('83520','LGN','D','7920',截止日期('30/12/2012','dd/mm/yyyy'),'ECU','B001','4','A1',截止日期('30/12/2012','dd/mm/yyyy'))
这是一个前端问题:它以该格式显示日期。因为它们是日期字段,所以日期实际上代表插入的日期
我注意到在屏幕截图的右下角,日期是以MM/DD/YYYY的顺序显示的。在Windows中更改此设置,它很可能会正确显示在前端工具中。这是前端问题:它以该格式显示日期。因为它们是日期字段,所以日期实际上代表插入的日期
我注意到在屏幕截图的右下角,日期是以MM/DD/YYYY的顺序显示的。在Windows中更改此设置,它很可能会正确地显示在前端工具中。重要的一点可以通过插入来显示,包括“截止日期('30/12/2012','dd/mm/yyyy')”。这将字符串“30/12/2012”转换为特定于数据库的内部日期对象格式。您无法控制基础存储格式。但是,您可以控制的是,在调用select时,如何使用日期格式化函数将内部日期对象转换回字符串
select to_char(some_date, 'dd/mm/yyyy') my_date from some_table;
在您引用的可视化界面中,它只是显示默认的日期到字符串的转换。重要的一点可以通过您的插入显示出来,包括“截止日期('30/12/2012','dd/mm/yyyy')”。这将字符串“30/12/2012”转换为特定于数据库的内部日期对象格式。您无法控制基础存储格式。但是,您可以控制的是,在调用select时,如何使用日期格式化函数将内部日期对象转换回字符串
select to_char(some_date, 'dd/mm/yyyy') my_date from some_table;
在您引用的可视化界面中,它只是显示默认的日期到字符串的转换。如果您不想更改Windows日期格式(如Colin't Hart所建议的),您可以
- 在查询中使用显式的to_char()日期格式(如Robert Hanson所建议的)
- 设置客户端NLS设置
- 配置您的客户机(因为您似乎正在使用PL/SQL developer): 工具->首选项->NLS选项->日期->检查用户定义+输入格式
就个人而言,我会设置客户端NLS设置。如果您不想更改Windows日期格式(如Colin't Hart所建议的),您可以
- 在查询中使用显式的to_char()日期格式(如Robert Hanson所建议的)
- 设置客户端NLS设置
- 配置您的客户机(因为您似乎正在使用PL/SQL developer): 工具->首选项->NLS选项->日期->检查用户定义+输入格式