首页 > 其他分享 >pg结果子查询转换数据不正确

pg结果子查询转换数据不正确

时间:2024-09-29 18:22:28浏览次数:10  
标签:completion 00 转换 rq 查询 cast pg date varchar

1、问题

同样的sql,执行思路,在测试环境,可以正常获取结果,生产环境数据就是不对,怀疑是PG版本不同。

sql如下:

xx的意思:查询completion_date,6天后的日期(跳过节假日),结果数据都没有转换

  SELECT distinct
      A.input_user,
      A.acqtn_mode,
      A.assemble_id AS zhy_zydx,
      A.completion_date,
      ((
              select
                cast(rq as varchar)
              from
                dquality_ycbf.zl_weekday
              where
                rq >= to_date (cast(A.completion_date as varchar), 'yyyy-MM-dd')
                and sfjjr = 'N'
              order by
                rq asc
              offset
                6
              limit
                1
            ) ||  SUBSTRING( cast(cast(A.completion_date as varchar) as varchar),11,10)
          ) as xx
    FROM
      std_data.xx_item A
    where
      (
        (
          A.Input_Time >= '2024-07-01 00:00:00'
          and A.Input_Time <= '2024-09-30 23:59:59'
        )
        or (
          A.Update_Date >= '2024-07-01 00:00:00'
          and A.Update_Date <= '2024-09-30 23:59:59'
        )
      )
      and A.dataset_class in ('A0100000000002', 'a0100000000002')
      and A.test_item_id = A.test_item_id

1.1生产环境

正常来讲xx,数据要么是null, 要么比completion_date至少大6天,莫名奇妙出来哦2023-03-27不能理解。

执行计划

生产环境,执行计划,看用到了HashAggregate ,不知道是不是它的影响。搞不懂,先放着,希望以后能明白原因

1、2测试环境

测试环境转的也很正常。 

方案修改

研究半天搞不懂,生产环境为什么不行。于是决定修改方案。 先找到zl_weekday表rq,对应跳过N天之后的实际日期,然后比较

  SELECT 
      A.input_user,
      A.acqtn_mode,
      A.assemble_id AS zhy_zydx,
      A.completion_date,
       (  (
              select
                cast(real_rq as varchar)
              from
               (    select rq,(select d1.rq  from dquality_ycbf.zl_weekday d1  
      where d1.rq>=zw.rq       
      and d1.sfjjr = 'N'
              order by
               d1.rq asc
              offset
                6
              limit
                1)as real_rq
      from dquality_ycbf.zl_weekday zw) xx
              where
                xx.rq = to_date (cast(A.completion_date as varchar), 'yyyy-MM-dd')
             
            )  || SUBSTRING( cast(cast(A.completion_date as varchar) as varchar),11,10)
          ) as xx
    FROM
      std_data.com_analysis_item A
       where
      (
        (
          A.Input_Time >= '2024-07-01 00:00:00'
          and A.Input_Time <= '2024-09-30 23:59:59'
        )
        or (
          A.Update_Date >= '2024-07-01 00:00:00'
          and A.Update_Date <= '2024-09-30 23:59:59'
        )
      )
      and A.dataset_class in ('A0100000000002', 'a0100000000002')

这个方案,生产环境和测试环境都可以正确查到数据

标签:completion,00,转换,rq,查询,cast,pg,date,varchar
From: https://blog.csdn.net/s07aser123/article/details/142637598

相关文章

  • 视频格式转换 CoolUtils Total Movie Converter v4.1 中文授权版
    CoolUtilsTotalMovieConverter 是一款适用于PC端的视频格式转换软件,支持转换几乎所有常见的视频格式。无论你需要将视频转换为AVI、FLV、MPG、WMV、MPEG等格式,还是想将视频优化用于XBox、iPhone、iPad等设备,这款工具都能帮你实现。新版添加了“VideoToDevice”功能,确......
  • 通讯过程中16进制字符和byte[]/十进制和16进制转换(一)
    ///<summary>///16进制字符转为字节流///</summary>///<paramname="str"></param>///<paramname="fromBase"></param>///<returns></returns>......
  • 9月28日,工信部人才交流中心&CUUG-PGCA/PGCP/PGCM认证考试完成!
    2024年9月28日,由工业和信息化部人才交流中心主办,北京神脑资讯技术有限公司承办的PostgreSQL管理员岗位能力认证考试(PGCP中级/PGCM高级)顺利完成。中级PG认证专家:PGCP(PostgreSQLCertifiedProfessional),是对PostgreSQL数据库技术能力的一种认可,达到了专家级别,可以对PostgreSQL数据......
  • 音频格式转换软件 Coolutils Total Audio Converter 序列号
    CoolutilsTotalAudioConverter,音频转换器,可以将音频文件转换为WAV,MP3,OGG,WMA,APE,FLAC,MP4,AAC,MPC等音频格式。支持将CD转换无损格式,CUE分割APE和FLAC文件、自动化批量转换。该版本已内置序列号,可以使用全部功能。软件截图:使用说明:1、将压缩文件解压到固定......
  • Java如何将Object转换成指定Class对象
    在Java中,将Object转换为指定类型的Class对象实际上是两个不同概念的操作:将Object实例转换为特定类型的实例:这通常涉及到类型转换(如(MyType)myObject)或者通过反射机制(Class.cast(Object))来进行。获取特定类型的Class对象:这可以通过.class语法或Class.forName(StringclassName)......
  • 【python】进制转换
    defbinary_to_octal(binary_str):decimal=int(binary_str,2)returnoct(decimal)[2:]#去掉'0o'前缀defbinary_to_decimal(binary_str):returnint(binary_str,2)defbinary_to_hexadecimal(binary_str):decimal=int(binary_str,2......
  • 尝试让查询更简单Rf
    为什么要写为什么要写,大概就是沉没成本吧只是从SourceGenerators出来开始,就打算以其研究是否能做aop(现在已经有内置功能了),本来当年就想尝试能否在orm做一些尝试,可惜种种原因,自己都忘了这个打算了直到今年7月份,才又想起了这个打算,现在精力不行了,本来研究一下原理和功能限制......
  • 推出TMS320VC5416GWS120、TMS320VC5416PGE160、TMS320VC5416ZWS160定点数字信号处理器
    系列概述:TMS320VC5416定点数字信号处理器(DSP)基于先进的改进型哈佛架构打造,具有一条程序存储器总线和三条数据存储器总线。该处理器采用具有高并行能力的算术逻辑单元(ALU)、特定于应用的硬件逻辑、片上存储器和附加片上外设。高度专业化的指令集是TMS320VC5416操作灵活性和速度的基......
  • C# 大小端转换
    https://www.cnblogs.com/Jasmine-K/p/7659908.html使用BinaryPrimitives辅助转换获取了byte[]bufferSpan的内容,接下来就可以调用BinaryPrimitives静态类提供的方法进行转换uintvalue=BinaryPrimitives.ReadUInt32BigEndian(bufferSpan);使用数组反转的方式转换......
  • [米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-08PS 私有看门狗定时器实验
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA实验平台:米联客-MLK-H3-CZ08-7100开发板板卡获取平台:https://milianke.tmall.com/登录“米联客”FPGA社区http://www.uisrc.com视频课程、答疑解惑!目录1概述2系统框图3中断资......