pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

Oracle UNPIVOT 和 SYSDATE 給出奇怪的結(jié)果

Oracle UNPIVOT and SYSDATE giving weird results(Oracle UNPIVOT 和 SYSDATE 給出奇怪的結(jié)果)
本文介紹了Oracle UNPIVOT 和 SYSDATE 給出奇怪的結(jié)果的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

限時送ChatGPT賬號..

我正在嘗試使用類似于以下的查詢將列轉(zhuǎn)換為行...

WITH查詢AS(選擇 SYSDATE 作為某個日期,一"作為一,二"作為二,三"作為三,四"作為四,五"作為五從雙),up_query AS(選擇 *FROM 查詢轉(zhuǎn)軸(數(shù)字為假人在(一個作為一個",兩個 AS '兩個',三作為三",四作為四",五作為五")))選擇系統(tǒng)日期,b.*FROM up_query b;

我期待 SomeDate 為結(jié)果行反映 SYSDATE...但這是我得到的結(jié)果:

SYSDATE SOMEDATE DUMMY NUM09-DEC-11 09-DEC-07 一一09-DEC-11 09-DEC-07 二二09-DEC-11 09-DEC-07 三三09-DEC-11 09-DEC-07 四 四09-DEC-11 09-DEC-07 五五

為什么 SOMEDATE 比 SYSDATE 早 4 年?

解決方案

正如 Mark 在他的回答中提到的,這至少是 Oracle 11.2.0.1 和 11.2.0.2 版本中的一個錯誤.

但是根據(jù) this 文章 如果您堅持使用上述 Oracle 版本,則有一個解決方法,即將日期轉(zhuǎn)換為 varchar 格式,然后將其轉(zhuǎn)換回日期數(shù)據(jù)類型.>

所以查詢現(xiàn)在應(yīng)該是:

WITH查詢AS(SELECT TO_CHAR(SYSDATE, 'RRRRMMDD') AS SomeDate,一"作為一,二"作為二,三"作為三,四"作為四,五"作為五從雙),up_query AS(選擇 *FROM 查詢轉(zhuǎn)軸(數(shù)字為假人在(一個作為一個",兩個 AS '兩個',三作為三",四作為四",五作為五")))SELECT SYSDATE, TO_DATE(SomeDate, 'RRRRMMDD') AS ActualSomeDate, b.*,FROM up_query b;

I am trying to transpose columns to rows using query similar to the following...

WITH 
query AS
(
    SELECT    SYSDATE AS SomeDate,
              'One' AS One,
              'Two' AS Two, 
              'Three' AS Three,
              'Four' AS Four,
              'Five' AS Five
        FROM dual
),
up_query AS
(
    SELECT * 
    FROM query
    UNPIVOT 
    ( 
     NUM FOR DUMMY 
     IN 
     ( 
      One AS 'One',
      Two AS 'Two',
      Three AS 'Three',
      Four AS 'Four',
      Five AS 'Five'
     )
    )
)
SELECT SYSDATE, b.*
  FROM up_query  b;

I was expecting SomeDate to reflect SYSDATE for the resulting rows... But this is the result I am getting:

SYSDATE   SOMEDATE       DUMMY  NUM
09-DEC-11 09-DEC-07      One    One
09-DEC-11 09-DEC-07      Two    Two
09-DEC-11 09-DEC-07      Three  Three
09-DEC-11 09-DEC-07      Four   Four
09-DEC-11 09-DEC-07      Five   Five

Why is the SOMEDATE 4 years earlier than SYSDATE?

解決方案

As Mark mentioned in his answer, this is a bug in Oracle 11.2.0.1 and 11.2.0.2 versions atleast.

However as per this article there is a workaround if you are stuck with the Oracle versions mentioned above, which is to convert the date to varchar format and then convert it back to date datatype.

So the query should now be:

WITH 
query AS
(
    SELECT     TO_CHAR(SYSDATE, 'RRRRMMDD') AS SomeDate,
              'One' AS One,
              'Two' AS Two, 
              'Three' AS Three,
              'Four' AS Four,
              'Five' AS Five
        FROM dual
),
up_query AS
(
    SELECT * 
    FROM query
    UNPIVOT 
    ( 
     NUM FOR DUMMY 
     IN 
     ( 
      One AS 'One',
      Two AS 'Two',
      Three AS 'Three',
      Four AS 'Four',
      Five AS 'Five'
     )
    )
)
SELECT SYSDATE, TO_DATE(SomeDate, 'RRRRMMDD') AS ActualSomeDate, b.*, 
  FROM up_query  b;

這篇關(guān)于Oracle UNPIVOT 和 SYSDATE 給出奇怪的結(jié)果的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

How to convert #39;2016-07-01 01:12:22 PM#39; to #39;2016-07-01 13:12:22#39; hour format?(如何將“2016-07-01 01:12:22 PM轉(zhuǎn)換為“2016-07-01 13:12:22小時格式?)
Create an Apex form with multiple pages(創(chuàng)建包含多個頁面的 Apex 表單)
UNPIVOT on multiple columns to return multiple columns(UNPIVOT 在多列上返回多列)
Write a SQL query to convert table from A to B(編寫 SQL 查詢以將表從 A 轉(zhuǎn)換為 B)
SQL Unpivot table(SQL 逆透視表)
Converting rows to columns using UNPIVOT(使用 UNPIVOT 將行轉(zhuǎn)換為列)
主站蜘蛛池模板: 一氧化氮泄露报警器,二甲苯浓度超标报警器-郑州汇瑞埔电子技术有限公司 | 不锈钢/气体/液体玻璃转子流量计(防腐,选型,规格)-常州天晟热工仪表有限公司【官网】 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 圆形振动筛_圆筛_旋振筛_三次元振动筛-河南新乡德诚生产厂家 | 翰香原枣子坊加盟费多少钱-正宗枣核糕配方培训利润高飘香 | 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 河南道路标志牌_交通路标牌_交通标志牌厂家-郑州路畅交通 | 海德莱电力(HYDELEY)-无功补偿元器件生产厂家-二十年专业从事电力电容器 | 北京燃气公司 用户服务中心| 电子天平-华志电子天平厂家| 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 金属雕花板_厂家直销_价格低-山东慧诚建筑材料有限公司 | 集装箱标准养护室-集装箱移动式养护室-广州璟业试验仪器有限公司 | 屏蔽泵厂家,化工屏蔽泵_维修-淄博泵业 | 隧道窑炉,隧道窑炉厂家-山东艾瑶国际贸易| 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 微动开关厂家-东莞市德沃电子科技有限公司 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 电子天平-华志电子天平厂家 | 模具ERP_模具管理系统_模具mes_模具进度管理_东莞市精纬软件有限公司 | 软启动器-上海能曼电气有限公司| 留学生辅导网-在线课程论文辅导-留学生挂科申诉机构 | 合肥展厅设计-安徽展台设计-合肥展览公司-安徽奥美展览工程有限公司 | 耐酸泵,耐酸泵厂家-淄博华舜耐腐蚀真空泵 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 番茄畅听邀请码怎么输入 - Dianw8.com | 电动车头盔厂家_赠品头盔_安全帽批发_山东摩托车头盔—临沂承福头盔 | BHK汞灯-百科|上海熙浩实业有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 电车线(用于供电给电车的输电线路)-百科 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 武汉森源蓝天环境科技工程有限公司-为环境污染治理提供协同解决方案 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 |