请教oracle 10g 关于日期格式的问题
要实现一个根据日期来查询:
insert表中的时候日期字典用的sysdate
但是插入的数据中间有中文,比如:2010-4-26 上午 20:22:22
这样的话,查询出来的这个字段和前天传过来要查询的日期就不能用"="来匹配
用的数据库是服务器上的的,在别人的机器上登录同样的库,查询出的结果没有中间的“上午”
请问是什么原因?
[解决办法]
日期格式的显示问题
执行查询之前 先执行
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
就好了
[解决办法]
插入数据的时候就转换成'yyyy-mm-dd hh24:mi:ss'
[解决办法]
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';select sysdate from dual;
[解决办法]
select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual
[解决办法]
WORKGROUP\DINGJUN-PC>select sysdate from dual;
SYSDATE
--------------
27-4月 -10
WORKGROUP\DINGJUN-PC> select * from nls_session_parameters;
PARAMETER
VALUE
------------------------------------------
------------------------------------------------------ -----------------------
------------------------------------------
---------------------------------------------------------------------------
NLS_LANGUAGE
SIMPLIFIED CHINESE
NLS_TERRITORY
CHINA
NLS_CURRENCY
¥
NLS_ISO_CURRENCY
CHINA
NLS_NUMERIC_CHARACTERS
.,
NLS_CALENDAR
GREGORIAN
NLS_DATE_FORMAT
DD-MON-RR
NLS_DATE_LANGUAGE
SIMPLIFIED CHINESE
NLS_SORT
BINARY
NLS_TIME_FORMAT
HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT
DD-MON-RR HH.MI.SSXFF AM
PARAMETER
VALUE
------------------------------------------
------------------------------------------------------ -----------------------
------------------------------------------
---------------------------------------------------------------------------
NLS_TIME_TZ_FORMAT
HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT
DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY
¥
NLS_COMP
BINARY
NLS_LENGTH_SEMANTICS
BYTE
NLS_NCHAR_CONV_EXCP
FALSE
已选择17行。
WORKGROUP\DINGJUN-PC>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
会话已更改。
WORKGROUP\DINGJUN-PC>select sysdate from dual;
SYSDATE
-------------------
2010-04-27 08:56:29
WORKGROUP\DINGJUN-PC>select to_char(sysdate,'yyyy-mon-dd') from dual;
TO_CHAR(SYSDATE,'YYYY-MON-DD')
--------------------------------
2010-4月 -27
WORKGROUP\DINGJUN-PC>select to_char(sysdate,'yyyy-mm-dd') from dual;
TO_CHAR(SYSDATE,'YYY
--------------------
2010-04-27
WORKGROUP\DINGJUN-PC>alter session set nls_date_language='American';
会话已更改。
WORKGROUP\DINGJUN-PC>select to_char(sysdate,'yyyy-mon-dd') from dual;
TO_CHAR(SYSDATE,'YYYY-MON-DD')
----------------------------------------
2010-apr-27