AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-69390

Hector's questions

Martin Hope
Hector
Asked: 2016-05-20 07:58:46 +0800 CST

ORACLE:将数据分组更改为基于月份细分

  • 1

为了简明扼要,我正在考虑修改此 SQL 查询的分组以从NAME到Month/yy

这是脚本示例和输出文件的屏幕截图

这就是我想要完成的。

关于如何处理这个问题的任何想法?

SQL 脚本:

SELECT A.NAME
     COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '10' THEN A.ORDER_NO ELSE NULL END)) AS OCT11_ORDERS
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '10' THEN A.ORDER_NO ELSE NULL END) AS OCT11_LINES
     , COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '10' THEN A.INVOICE_NO ELSE NULL END)) AS OCT11_INV_COUNT
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '10' THEN A.INVOICE_NO ELSE NULL END) AS OCT11_INV_LINES
-- NOV 11 
     , COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '11' THEN A.ORDER_NO ELSE NULL END)) AS NOV11_ORDERS
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '11' THEN A.ORDER_NO ELSE NULL END) AS NOV11_LINES
     , COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '11' THEN A.INVOICE_NO ELSE NULL END)) AS NOV11_INV_COUNT
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '11' THEN A.INVOICE_NO ELSE NULL END) AS NOV11_INV_LINES
-- DEC 11     
     , COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '12' THEN A.ORDER_NO ELSE NULL END)) AS DEC11_ORDERS
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '12' THEN A.ORDER_NO ELSE NULL END) AS DEC11_LINES
     , COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '12' THEN A.INVOICE_NO ELSE NULL END)) AS DEC11_INV_COUNT
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '12' THEN A.INVOICE_NO ELSE NULL END) AS DEC11_INV_LINES

FROM test.test1 A 
WHERE TO_DATE(A.INVDATE) BETWEEN TO_DATE('01-OCT-11') AND TO_DATE('30-SEP-12')
AND COMPANY = '30'
AND CUST_GRP IN ('3','4')
GROUP BY A.NAME 

输出文件:当前输出文件

期望的输出 理想的输出格式

对于所需的输出,所有的列都应该是counts

谢谢!

oracle select
  • 1 个回答
  • 39 Views
Martin Hope
Hector
Asked: 2015-12-01 13:50:40 +0800 CST

包含/排除行的多个条件

  • 0

澄清更新

不幸的是,我们基于第 3 方应用程序和数据库进行报告,因此我们无法修改数据类型,因为我们不拥有它。

为了帮助澄清,该报告基本上向我们展示了ORDERS在我们的系统中没有状态为“80”和“90”的所有“已完成”订单。

运营经理希望报告向我们显示状态为 80 或 90 的所有订单,但前提是它最近在 7 分钟内更改为该订单状态。如果您在查询中注意到我试图在选择行中创建一个查询,该查询将显示自状态更改以来经过的时间(我通过比较CONSOL_END_TIME列 vs来执行此操作CURRENT_TIMESTAMP)

我基本上希望报告在80 和 90ORDER_NO之间20-70并且仅consol_end_time在current_timestamp.

希望对您有所帮助,如果您需要更多说明,请提出建议。我已经更新了查询以更好地显示我想要完成的任务。

SELECT * 
     , SUBSTRING(PM.SHIP_TIME, 1, 2)+':'+SUBSTRING(PM.SHIP_TIME, 3, 2)+':'+RIGHT(PM.SHIP_TIME, 2) AS MANIFEST_TIME
     , CONVERT(VARCHAR(8),CURRENT_TIMESTAMP,114) AS CURR_TIME
     , DATEDIFF(MINUTE,SUBSTRING(H.CONSOL_END_TIME, 1, 2)+':'+SUBSTRING(H.CONSOL_END_TIME, 3, 2)+':'+RIGHT(H.CONSOL_END_TIME, 2),CONVERT(VARCHAR(8),CURRENT_TIMESTAMP,114)) AS MINS_ELAPSED  
FROM PK_HEADER H 
            JOIN PK_SHIPPING S ON H.ORDER_NUM = S.ORDER_NUM 
            LEFT OUTER JOIN CARRIER_CFG C ON S.SERVICE_CODE = C.SERVICE_CODE 
            LEFT OUTER JOIN ROUTING_PACK R ON H.ROOT_CNTNR = R.CNTNR_ID 
            LEFT OUTER JOIN PK_MANIFEST PM ON (H.ORDER_NUM = PM.ORDER_NUM) -- JUST JOIN TO THE MANIFEST TABLE TO GET THE TIME IT WAS MANIFESTED
WHERE CUST_NUM = @CUSTOMER 
        AND @SERVICE = S.SERVICE_CODE
        AND @ADD1 = S.SHIP_ADDRESS_1
        AND @ZIP = S.SHIP_POSTAL_CODE
        AND (H.ORDER_STATUS BETWEEN 20 AND 70 
             OR (H.ORDER_STATUS IN ('80','90'))) 
        OR SUM(DATEDIFF(MINUTE,SUBSTRING(H.CONSOL_END_TIME, 1, 2) +':'+SUBSTRING(H.CONSOL_END_TIME, 3, 2)+':'+RIGHT(H.CONSOL_END_TIME, 2),CONVERT(VARCHAR(8),CURRENT_TIMESTAMP,114)) < '7')
        AND H.LARGE_ORDER = 'Y' 
        AND CREATION_DATE > 20120701 


ORDER BY 
     H.LARGE_ORDER DESC
    ,H.ORDER_STATUS ASC
    ,H.ASSOC_DATE ASC
    ,H.ASSOC_TIME ASC

任何修改之前的原始查询

declare @customer char(18) 
declare @service char(18)
declare @add1 char(40)
declare @zip char(18)


select top 1 @customer = cust_num, @service = s.service_code , @add1 = S.SHIP_ADDRESS_1, @zip = S.SHIP_POSTAL_CODE
FROM PK_HEADER H JOIN PK_LINE L on H.order_num = L.order_num JOIN PK_SHIPPING S ON H.ORDER_NUM = S.ORDER_NUM LEFT OUTER JOIN CARRIER_CFG C ON S.SERVICE_CODE = C.SERVICE_CODE LEFT OUTER JOIN ROUTING_PACK R ON H.ROOT_CNTNR = R.CNTNR_ID 
where L.PKG_ID = '{?Package}'

select * FROM PK_HEADER H /* JOIN PK_LINE L on H.order_num = L.order_num */ JOIN PK_SHIPPING S ON H.ORDER_NUM = S.ORDER_NUM LEFT OUTER JOIN CARRIER_CFG C ON S.SERVICE_CODE = C.SERVICE_CODE LEFT OUTER JOIN ROUTING_PACK R ON H.ROOT_CNTNR = R.CNTNR_ID 
where cust_num  = @customer and @service = s.service_code and @add1 = S.SHIP_ADDRESS_1 and @zip = S.SHIP_POSTAL_CODE and H.ORDER_STATUS BETWEEN 20 AND 70 and h.large_order = 'Y' and creation_date > 20120701


ORDER BY H.LARGE_ORDER DESC, H.ORDER_STATUS asc, H.ASSOC_DATE ASC, H.ASSOC_TIME ASC



INSERT INTO DATA
INSERT INTO [dbo].[PK_HEADER]
           ([ORDER_NUM]
           ,[COMPANY_CODE]
           ,[CUST_NUM]
           ,[CREATION_DATE]
           ,[CREATION_TIME]
           ,[DUE_DATE]
           ,[DUE_TIME]
           ,[ORDER_PRIORITY]
           ,[ORDER_STATUS]
           ,[ASSIGNMENT_ZONE_NUM]
           ,[ON_HOLD]
           ,[ORDER_CANCEL]
           ,[ROOT_CNTNR]
           ,[PICK_CONSOL]
           ,[HAD_BKORDER]
           ,[MISS_INV]
           ,[SUPERVISOR_AUTH]
           ,[INCOMPLETE_INS]
           ,[CONSOL_ROUTING]
           ,[CONSOL_ST_DATE]
           ,[CONSOL_ST_TIME]
           ,[CONSOL_END_DATE]
           ,[CONSOL_END_TIME]
           ,[SPECIAL_HANDL]
           ,[ELAPSED_PACK_TIME]
           ,[SHIP_CNTNR_PREV]
           ,[SHIP_CNTNR_TOTAL]
           ,[MANF_CNTNR_TOTAL]
           ,[ORDER_EXPORT]
           ,[ORDER_TYPE]
           ,[WAVE_TYPE]
           ,[WAVE_ID]
           ,[ORIG_ORDER_PRIORITY]
           ,[ORDER_VALUE]
           ,[ORDER_WEIGHT]
           ,[LARGE_ORDER]
           ,[PROD_SUBSTN_OVERRIDE]
           ,[ASSOC_DATE]
           ,[ASSOC_TIME]
           ,[TRAILER_SEQ]
           ,[HOST_ORDER_NUM]
           ,[HOST_ORDER_NUM_2]
           ,[HOST_OP]
           ,[TRAILER_ROUTE]
           ,[DESTINATION]
           ,[HOLD_REASON]
           ,[CANCEL_REASON])
     VALUES
           (<ORDER_NUM, char(25),>
           ,<COMPANY_CODE, char(15),>
           ,<CUST_NUM, char(15),>
           ,<CREATION_DATE, char(8),>
           ,<CREATION_TIME, char(6),>
           ,<DUE_DATE, char(8),>
           ,<DUE_TIME, char(6),>
           ,<ORDER_PRIORITY, numeric(18,0),>
           ,<ORDER_STATUS, smallint,>
           ,<ASSIGNMENT_ZONE_NUM, char(3),>
           ,<ON_HOLD, char(1),>
           ,<ORDER_CANCEL, char(1),>
           ,<ROOT_CNTNR, char(25),>
           ,<PICK_CONSOL, char(1),>
           ,<HAD_BKORDER, char(1),>
           ,<MISS_INV, char(1),>
           ,<SUPERVISOR_AUTH, char(1),>
           ,<INCOMPLETE_INS, int,>
           ,<CONSOL_ROUTING, char(1),>
           ,<CONSOL_ST_DATE, char(8),>
           ,<CONSOL_ST_TIME, char(6),>
           ,<CONSOL_END_DATE, char(8),>
           ,<CONSOL_END_TIME, char(6),>
           ,<SPECIAL_HANDL, char(3),>
           ,<ELAPSED_PACK_TIME, numeric(18,0),>
           ,<SHIP_CNTNR_PREV, int,>
           ,<SHIP_CNTNR_TOTAL, int,>
           ,<MANF_CNTNR_TOTAL, int,>
           ,<ORDER_EXPORT, char(1),>
           ,<ORDER_TYPE, smallint,>
           ,<WAVE_TYPE, smallint,>
           ,<WAVE_ID, char(20),>
           ,<ORIG_ORDER_PRIORITY, numeric(18,0),>
           ,<ORDER_VALUE, real,>
           ,<ORDER_WEIGHT, real,>
           ,<LARGE_ORDER, char(1),>
           ,<PROD_SUBSTN_OVERRIDE, smallint,>
           ,<ASSOC_DATE, char(8),>
           ,<ASSOC_TIME, char(6),>
           ,<TRAILER_SEQ, int,>
           ,<HOST_ORDER_NUM, char(30),>
           ,<HOST_ORDER_NUM_2, char(30),>
           ,<HOST_OP, char(10),>
           ,<TRAILER_ROUTE, char(30),>
           ,<DESTINATION, char(20),>
           ,<HOLD_REASON, char(3),>
           ,<CANCEL_REASON, char(3),>)
GO
sql-server sql-server-2005
  • 1 个回答
  • 124 Views
Martin Hope
Hector
Asked: 2015-10-03 10:52:56 +0800 CST

ORACLE中如何将Excel文件加载到临时表中

  • 0

是否可以将带有标题的 excel 文件加载到 Oracle 上的临时表中?

我使用 TOAD 作为界面。

我需要对 excel 文件与我们数据库中的文件进行一些比较。不幸的是,excel 文件中的数据不在我们的数据库中,但为了让我报告数据,我需要将其带入以进行比较。

这是可行的吗?如果是这样,那么合适的方法是什么?

oracle temporary-tables
  • 1 个回答
  • 6240 Views
Martin Hope
Hector
Asked: 2015-10-02 08:14:33 +0800 CST

ORACLE 中 select 语句中的值的优先级

  • 0

由于JOIN通信方式(电话、电子邮件等)的原因,我们得到了很多重复项,因为一家公司可以有多种通信方式(CICM.CLIENT_VALUE)。

我的问题是...... 有没有办法将选择语句合并到如果不在client_Value现场,如果值= EMAIL&Phone然后只为此拉EMAIL CUSTOMER_ID,如果他们没有电子邮件并且只有电话,那么拉电话

现在我可以有CUSTOMER_ID= 1 并且有 2 条记录具有相同的数据,但它们client_value会有所不同,因为它们有电子邮件和电话,所以我得到 2 条返回的记录,而不是优先考虑 1。

这是一张显示我所引用内容的图片...您可以看到两条记录上所有涂黑的字段都具有相同的值,但 contact_type 和值不同。如果可以的话,我想优先选择 PHONE 而不是 EMAIL,而不是同时选择 PHONE 以减少记录返回计数......

结果示例

如果这需要澄清,请告知。

SELECT DISTINCT INV.CUSTOMER_ID
     , INV.ADDRESS_ID
     , INV.NAME
     , INV.ADDRESS1
     , INV.ADDRESS2
     , INV.CITY
     , INV.STATE
     , INV.ZIP_CODE
     , INV.COUNTRY
     , CICM.CLIENT_VALUE as CONTACT_TYPE
     , CICM.VALUE
     , CICM.DESCRIPTION
     , INV.REGION_CODE
     , INV.SITE
     , LD.LSTINVDATE
     , CASE WHEN TO_DATE(INV.INVDATE) BETWEEN TO_DATE('01-Oct-13') AND TO_DATE('30-Sep-15') THEN SUM(INV.SALES) ELSE 0 END AS TWO_YEARS
     , CASE WHEN TO_DATE(INV.INVDATE) BETWEEN TO_DATE('01-Oct-15') AND SYSDATE THEN SUM(INV.SALES) ELSE 0 END AS SALESPROGRESS
     , SUM(INV.SALES) AS TOTALSALES
FROM IFSINFO.HB_INVOICING_ALL INV 
LEFT JOIN IFSINFO.HB_LAST_INVOICE_DATE LD 
    ON (INV.COMPANY = LD.COMPANY) 
    AND (INV.CUSTOMER_ID = LD.IDENTITY)
LEFT JOIN IFSAPP.CUSTOMER_INFO_COMM_METHOD CICM
    ON (INV.ADDRESS_ID = CICM.ADDRESS_ID)
    AND (INV.CUSTOMER_ID = CICM.CUSTOMER_ID)
WHERE INV.CUST_GRP = '4'
AND INV.COMPANY = '20'
AND INV.STATE = '&State'
GROUP BY INV.COMPANY
       , INV.CUSTOMER_ID
       , INV.ADDRESS_ID
       , INV.NAME
       , INV.ADDRESS1
       , INV.ADDRESS2
       , INV.CITY
       , INV.STATE
       , INV.ZIP_CODE
       , INV.COUNTRY
       , CICM.CLIENT_VALUE
       , CICM.VALUE
       , CICM.DESCRIPTION
       , INV.REGION_CODE
       , INV.SITE
       , LD.LSTINVDATE  
       , INV.INVDATE

HAVING SUM(CASE WHEN INV.INVDATE >= TO_DATE('01-Oct-13')
                 AND INV.INVDATE < TO_DATE('30-Sep-15')
             THEN INV.SALES ELSE 0 
           END) = 0
oracle select
  • 1 个回答
  • 276 Views
Martin Hope
Hector
Asked: 2015-10-01 10:43:37 +0800 CST

HAVING STATEMENT 错误 SQL 命令未正确结束

  • 0

我已经更新了这个问题,因为我已经取得了进展,我的HAVING陈述仍然无法正常工作。我得到一个ORA-00933: SQL command not properly ended..

我相信这是我的HAVING条款。有任何想法吗?

回顾:

我正在尝试捕获 2013-2015 年间没有购买活动的客户的进度,并从 2015 年 10 月开始跟踪他们的购买活动,以跟踪销售人员的活动。

SELECT INV.COMPANY
     , INV.CUSTOMER_ID
     , INV.ADDRESS_ID
     , INV.NAME
     , INV.ADDRESS1
     , INV.ADDRESS2
     , INV.CITY
     , INV.STATE
     , INV.ZIP_CODE
     , INV.COUNTRY
     , CICM.CLIENT_VALUE as contact_type
     , CICM.VALUE
     , CICM.DESCRIPTION
     , INV.REGION_CODE
     , INV.SITE
     , LD.LSTINVDATE
     , CASE WHEN TO_DATE(INV.INVDATE) BETWEEN TO_DATE('01-Oct-13') AND TO_DATE('30-Sep-15') THEN SUM(INV.SALES) ELSE 0 END AS TWO_YEARS
     , CASE WHEN TO_DATE(INV.INVDATE) BETWEEN TO_DATE('01-Oct-15') AND SYSDATE THEN SUM(INV.SALES) ELSE 0 END AS PROGRESS
     , SUM(INV.SALES) AS SLSAMNT

FROM IFSINFO.HB_INVOICING_ALL INV 
LEFT JOIN IFSINFO.HB_LAST_INVOICE_DATE LD 
    ON (INV.COMPANY = LD.COMPANY) 
    AND (INV.CUSTOMER_ID = LD.IDENTITY)
LEFT JOIN IFSAPP.CUSTOMER_INFO_COMM_METHOD CICM
    ON (INV.ADDRESS_ID = CICM.ADDRESS_ID)
    AND (INV.CUSTOMER_ID = CICM.CUSTOMER_ID)
WHERE INV.CUST_GRP = '4'
AND INV.COMPANY = '20'
HAVING SUM(INV.INVDATE) BETWEEN TO_DATE('01-Oct-13') AND TO_DATE('30-Sep-15') = 0
--HAVING MAX(LD.LSTINVDATE) < (SYSDATE - INTERVAL '2' YEAR)     
GROUP BY INV.COMPANY
       , INV.CUSTOMER_ID
       , INV.ADDRESS_ID
       , INV.NAME
       , INV.ADDRESS1
       , INV.ADDRESS2
       , INV.CITY
       , INV.STATE
       , INV.ZIP_CODE
       , INV.COUNTRY
       , CICM.CLIENT_VALUE
       , CICM.VALUE
       , CICM.DESCRIPTION
       , INV.REGION_CODE
       , INV.SITE
       , LD.LSTINVDATE  
       , INV.INVDATE
oracle
  • 1 个回答
  • 1018 Views
Martin Hope
Hector
Asked: 2015-09-30 13:46:30 +0800 CST

如何过滤销售以找到过去 2 年未购买的客户

  • 1

我想要完成的是找到过去有销售但在过去 2 年内没有从我们这里购买过的所有客户(SYSDATE - INTERVAL '2' YEAR)

这是我目前的代码。

select invc.company
 , invc.customer_id
 , to_char(invc.invdate, 'mm/dd/yyyy') as date
 , invc.name
 , invc.address1
 , invc.address2
 , invc.city
 , invc.state
 , invc.zip_code
 , invc.country
 , invc.region_code
 , invc.site
 , sum(invc.sales) as SlsAmnt
from ifsinfo.hb_invoicing_all invc
where **THIS IS THE PART IM STUCK AT**
group by invc.company
           , invc.customer_id
           , invc.creation_date
           , invc.name
           , invc.address1
           , invc.address2
           , invc.city
           , invc.state
           , invc.zip_code
           , invc.country
           , invc.region_code
           , invc.site

我基本上是在寻找一个查询,该查询将返回 2 年或更长时间未从我们这里购买过的客户列表。

SUM(SALES) = 0在过去 2 年内+

oracle sum
  • 1 个回答
  • 46 Views
Martin Hope
Hector
Asked: 2015-09-23 12:26:11 +0800 CST

SQL Server 2008 的 HAVING 子句有问题

  • 1

我对我目前正在撰写的报告有疑问。

我需要此查询仅向我显示具有 < -5 as mins_elapse 的订单项

这是代码。我省略了FROM防止商业身份形式的条款。

select 
    H.ORDER_NUM
    ,H.CUST_NUM
    ,H.CREATION_DATE
    ,H.DUE_DATE
    ,H.ORDER_PRIORITY
    ,H.ORDER_STATUS
    ,H.ORDER_TYPE
    ,H.TRAILER_ROUTE
    ,S.SHIP_ADDRESS_1
    ,S.SHIP_CITY
    ,S.SHIP_STATE
    ,S.SHIP_COUNTRY
    ,S.SHIP_POSTAL_CODE
    ,C.SERVICE_CODE
    ,C.CODE_TEXT
    ,SUBSTRING(pm.ship_time, 1, 2) + ':' + SUBSTRING(pm.ship_time, 3, 2) + ':' + RIGHT(pm.ship_time, 2) as manifest_time
    ,CONVERT(varchar(8), CURRENT_TIMESTAMP, 114) as curr_time
    ,--determine the difference between when the order was manifested and the current time and use it in the WHERE clause below
    DATEDIFF(MINUTE, SUBSTRING(pm.ship_time, 1, 2) + ':' + SUBSTRING(pm.ship_time, 3, 2) + ':' + RIGHT(pm.ship_time, 2), convert(varchar(8), current_timestamp, 114)) as mins_elapsed
where 
    cust_num = @customer `
    and @service = s.service_code
    and @add1 = S.SHIP_ADDRESS_1
    and @zip = S.SHIP_POSTAL_CODE
    and H.ORDER_STATUS between 20
        and 90
    and DATEDIFF(MINUTE, SUBSTRING(pm.ship_time, 1, 2) + ':' + SUBSTRING(pm.ship_time, 3, 2) + ':' + RIGHT(pm.ship_time, 2), convert(varchar(8), current_timestamp, 114)) <= 5
    and h.large_order = 'Y' `
    and creation_date > 20120701 `
group by 
    H.ORDER_NUM
    ,H.CUST_NUM
    ,H.CREATION_DATE
    ,H.DUE_DATE
    ,H.ORDER_PRIORITY
    ,H.ORDER_STATUS
    ,H.ORDER_TYPE
    ,H.TRAILER_ROUTE
    ,PM.SHIP_TIME
    ,S.SHIP_ADDRESS_1
    ,S.SHIP_CITY
    ,S.SHIP_STATE
    ,S.SHIP_COUNTRY
    ,S.SHIP_POSTAL_CODE
    ,C.SERVICE_CODE
    ,C.CODE_TEXT
    ,H.LARGE_ORDER
    ,H.ASSOC_DATE
    ,H.ASSOC_TIME`
having 
    DATEDIFF(MINUTE, SUBSTRING(pm.ship_time, 1, 2) + ':' + SUBSTRING(pm.ship_time, 3, 2) + ':' + RIGHT(pm.ship_time, 2), convert(varchar(8), current_timestamp, 114)) <= 5
order by 
    H.LARGE_ORDER desc
    ,H.ORDER_STATUS asc
    ,H.ASSOC_DATE asc
    ,H.ASSOC_TIME asc

清单时间

sql-server sql-server-2008-r2
  • 2 个回答
  • 349 Views
Martin Hope
Hector
Asked: 2015-09-11 10:57:16 +0800 CST

将 CHAR 转换为 DATETIME 以便我可以使用 DATEADD()

  • 6

我有一个关于将DATEADD()函数用于标识为的列的问题CHAR (6)

该time_stamp列包含131329as之类的值hhmmss。每当我尝试创建一个新列来保存该time_stamp列的值 + 5 分钟时,我都会收到错误消息。

消息 242,级别 16,状态 3,第 1
行将字符数据类型转换为日期时间数据类型导致日期时间值超出范围。`

我想要做的是创建一个比time_stamp. 我现在正在处理一份显示“已完成订单”的报告,但我需要在报告中将订单显示为“已完成”之前至少 5 分钟将其保留为“未完成”。

sql-server t-sql
  • 1 个回答
  • 1041 Views
Martin Hope
Hector
Asked: 2015-08-11 11:16:32 +0800 CST

解析 date_entered 字段以根据时间范围捕获 TIME 'hh:mm:ss'

  • 1

基于 date_entered 列,它是 'DATE' 的数据类型,我将如何解析数据以拉出时间。

DATE_ENTERED字段 ( DATA_TYPEis )中的值DATE如下所示5/15/2015 8:43:04 PM

我需要根据何时DATE_ENTERED和between 05/15/2015 8:00 AM何时运行查询05/15/2015 10:00 AM

然后我需要将其合并到一个 PL/SQL 脚本中,该脚本每 2 小时运行一次,最后两个小时作为过滤器。我对此最好的解释是它获取当前日期和时间的位置,并每 2 小时后退 2 小时。这将允许它在上午 8 点、上午 10 点、中午 12 点、下午 2 点等时间运行,并在查询中包含最近 2 小时的新条目。例如,上午 10 点运行时间将包括从上午 8:00 到上午 10:00 输入的项目的结果

oracle plsql
  • 1 个回答
  • 60 Views
Martin Hope
Hector
Asked: 2015-07-15 07:49:24 +0800 CST

SQL 假脱机文件 SQLPLUS 批处理文件

  • 1
*/

SET colsep ';'
SET TERMOUT OFF
SET NEWPAGE 0
SET SPACE 0
SET LINESIZE 800
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET NUMW 20

column timecol new_value timestamp
column spool_extension new_value suffix
SELECT '.csv' spool_extension
FROM dual;
/

SPOOL \\SERVERNAME\FOLDER\FOLDER\FOLDER...ETC\InternationalReport&&suffix
@@"C:\FOLDER\FOLDER\International_report\International";
/
Exit;

目前,它将假脱机 .csv 文件,但我需要它输出 InternationalReportyyyymmdd.csv

关于如何设置它的任何想法?谢谢!

oracle sqlplus
  • 1 个回答
  • 1385 Views
Martin Hope
Hector
Asked: 2015-06-27 06:52:29 +0800 CST

使用 TOAD/ORACLE 将脚本执行到输出文件时打印注释或语句

  • 2

来自 SQL SSMS 环境,我想复制他们的Print命令,它允许您在执行查询时打印命令或变量。我正在寻找此功能以帮助在执行期间识别脚本的特定部分。

例如,我们有一个在晚上运行的 .sql 脚本,用于检查特定库存编号的差异。这些库存编号可以说是store_id1、2、3、4、5。

该脚本有一个附加到其中的每一个的 select 语句store_id。我希望能够为1PRINT的 select 语句放置一个语句,Store_ID这样我就可以看到 output.txt 文件并看到标题“ Store_id 1”,然后是库存编号,然后看到标题“ Store_id 2”等...

在 MSSQL SSMS 中它会喜欢这样的东西

PRINT 'Searching Inventory Discrepancies at Store 1'
Select * from table1 where store_id = '1' etc...

PRINT 'Searching Inventory Discrepancies at Store 2'
Select * from table1 where store_id = '2' etc...

如果需要澄清请指教,谢谢!

oracle ssms
  • 3 个回答
  • 29283 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve