代码之家  ›  专栏  ›  技术社区  ›  davidsleeps

如何改进RDB中的以下SQL选择日期

  •  3
  • davidsleeps  · 技术社区  · 16 年前

    我正在开发一个.Net WinForms应用程序,它连接到一个遗留RDB数据库。。。

    select
    CAST(
    SUBSTRING(DATE_COL AS VARCHAR(8)) FROM 1 FOR 4) ||
    '-' ||
    SUBSTRING(CAST(DATE_COL) AS VARCHAR(8)) FROM 5 FOR 2) ||
    '-' ||
    SUBSTRING(CAST(DATE_COL) AS VARCHAR(8)) FROM 7 FOR 2) ||
    ' 00:00:00'
    AS TIMESTAMP) AS DATE_COL
    from MY_TABLE
    where ...
    
    3 回复  |  直到 5 年前
        1
  •  3
  •   Bob Jarvis - Слава Україні    16 年前

    我已经有一段时间没有惹上Rdb了。我似乎记得有一种方法可以通过执行以下操作转换为时间戳数据类型

    CAST('YYYYMMDDHHMMSSTT' AS TIMESTAMP)
    

    SELECT CAST((CAST(DATE_COL AS CHAR(8)) || '00000000') AS TIMESTAMP)...
    

        2
  •  1
  •   OMG Ponies    16 年前

    在Oracle中,您可以在铸造后使用TO_DATE date_col 到字符串:

    TO_DATE(TO_CHAR(date_col), 'YYYYMMDD')
    

    …或“YYYYDDMM”作为日期格式。

    参考资料:

        3
  •  0
  •   Hamish Grubijan    16 年前

    为什么不使用LINQ库?这是非常好和强大的。

    您正在运行的典型查询是什么(请使用高级伪代码)。