proc sql date()

neekobn8  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(565)

我正试图编辑这段代码,使之成为动态的,因为我要安排它运行。通常我会在where语句中输入日期为'yyyy-mm-dd',因此为了使它动态,我将它改为date()。我没有出错,但我也没有提取数据。我只需要帮助格式和我的谷歌搜索是没有帮助。

  1. PROC SQL;
  2. CONNECT TO Hadoop (server=disregard this top part);
  3. CREATE TABLE raw_daily_fcast AS SELECT * FROM connection to Hadoop(
  4. SELECT DISTINCT
  5. a.RUN_DATE,
  6. a.SCHEDSHIPDATE,
  7. a.SOURCE,
  8. a.DEST ,
  9. a.ITEM,
  10. b.U_OPSTUDY,
  11. a.QTY,
  12. c.case_pack_qty
  13. FROM CSO.RECSHIP a
  14. LEFT JOIN CSO.UDT_ITEMPARAM b
  15. ON a.ITEM = b.ITEM
  16. LEFT JOIN SCM.DIM_PROD_PLN c
  17. ON a.ITEM = c.PLN_NBR
  18. WHERE a.RUN_DATE = DATE()
  19. AND a.SOURCE IN ('88001', '88003', '88004', '88006', '88008', '88010', '88011', '88012',
  20. '88017', '88018', '88024', '88035', '88040', '88041', '88042', '88047')
  21. );
  22. DISCONNECT FROM Hadoop;
  23. QUIT;
bxjv4tth

bxjv4tth1#

更改:

  1. WHERE a.RUN_DATE = DATE()

收件人:

  1. WHERE a.RUN_DATE = PUT(date(), YYMMDD10.) AS date
bwitn5fc

bwitn5fc2#

当run\u date是一个字符串时,您可以在sas端在线生成当前日期字符串

  1. WHERE a.RUN_DATE = %str(%')%sysfunc(date(),yymmdd10.)%str(%')
  2. AND ...

或者

  1. WHERE a.RUN_DATE = %sysfunc(quote(%sysfunc(date(),yymmdd10.),%str(%')))
  2. AND ...

对于运行日期是包含date9格式值的字符串的情况,请更改 yymmdd10.date9.

相关问题