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)換為列)
主站蜘蛛池模板: 工业雾炮机_超细雾炮_远程抑尘射雾器-世纪润德环保设备 | 整合营销推广|营销网络推广公司|石家庄网站优化推广公司|智营销 好物生环保网、环保论坛 - 环保人的学习交流平台 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 影视模板素材_原创专业影视实拍视频素材-8k像素素材网 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 智能案卷柜_卷宗柜_钥匙柜_文件流转柜_装备柜_浙江福源智能科技有限公司 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 合肥网带炉_安徽箱式炉_钟罩炉-合肥品炙装备科技有限公司 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 识禅_对禅的了解,从这里开始| 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 深圳市东信高科自动化设备有限公司 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 酒店品牌设计-酒店vi设计-酒店标识设计【国际级】VI策划公司 | 机构创新组合设计实验台_液压实验台_气动实训台-戴育教仪厂 | 飞飞影视_热门电影在线观看_影视大全 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 | 湖南印刷厂|长沙印刷公司|画册印刷|挂历印刷|台历印刷|杂志印刷-乐成印刷 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 液压升降平台_剪叉式液压/导轨式升降机_传菜机定做「宁波日腾升降机厂家」 | 中宏网-今日新闻-财经新闻 | 2025世界机器人大会_IC China_半导体展_集成电路博览会_智能制造展览网 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | IHDW_TOSOKU_NEMICON_EHDW系列电子手轮,HC1系列电子手轮-上海莆林电子设备有限公司 | 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 蒸汽吸附分析仪-进口水分活度仪|康宝百科| 天津散热器_天津暖气片_天津安尼威尔散热器制造有限公司 | 路面机械厂家 | 小青瓦丨古建筑瓦丨青瓦厂家-宜兴市徽派古典建筑材料有限公司 | 安全阀_弹簧式安全阀_美标安全阀_工业冷冻安全阀厂家-中国·阿司米阀门有限公司 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 伺服电机_直流伺服_交流伺服_DD马达_拓达官方网站 |