2011-04-19 10:57:48 AM 我想把时间转换成如上结果,数据库语言是utf-8,请问怎么解决?
解决方案 »
- 未在本地计算机上注册“MSDAORA.1”提供程序
- oracle 无法使用sqlplus,sqlload等工具
- top 等待事件为 gc current block 2-way,求调优建议
- 导出表正常,导入表后发现主键丢失!!急!!!!!!!!
- Oracle在存储过程中实现分割字符串再存到数组中
- 求 Oracle database 10g sql 开发指南的电子版
- Oracle 触发器错误
- oracle性能问题?
- PLS-00103: Encountered the symbol "VARCHAR2" when expecting one of the
- 存储过程游标移动问题
- 求大神,求大师教教小弟
- 关于字符转换的问题
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss am') from dual或者
alter session nls_date_format='yyyy-mm-dd hh24:mi:ss am'
(
select to_date('2011-04-19 10:57:48','yyyy-mm-dd hh24:mi:ss')dt from dual
)
select to_char(dt,'yyyy-mm-dd hh24:mi:ss') ||' ' || decode(to_char(dt,'am'),trim('上午'),'AM',trim('下午'),'PM') from a
你的结果是 2011-04-19 11:25:58 上午 to 2L:你的结果是对的
------------------------
2011-04-19 11:31:10 上午eygle@SZTYORA> alter session set nls_date_language=american;会话已更改。eygle@SZTYORA> select sysdate from dual;SYSDATE
----------------------
2011-04-19 11:31:28 am
-- 是上午还是am,跟这个参数有关: alter session set nls_date_language=american;
-- 我4楼的代码,你测试过吗?
eygle@SZTYORA> select to_char(sysdate,'yyyy-mm-dd hh:mi:ss am','NLS_DATE_LANGUAGE = American') from dual;TO_CHAR(SYSDATE-1/2,'YYYY-MM-DDHH:MI:SSAM','
--------------------------------------------
2011-04-19 02:51:02 am-- 或者:
eygle@SZTYORA> select to_char(sysdate,'yyyy-mm-dd hh:mi:ss pm','NLS_DATE_LANGUAGE = American') from dual;TO_CHAR(SYSDATE,'YYYY-MM-DDHH:MI:SSPM','NLS_
--------------------------------------------
2011-04-19 02:52:14 pm-- 日期、时间格式中,用am还是pm返回的结果是一样的!
select to_char(表子段,'yyyy-mm-dd hh24:mi:ss am') from 表名
试试
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss am') from dual;
--结果肯定是你想要的