查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
村里922
新的用户

加入:2005年7月25日 帖子:92 地点:印度
|
|
|
|
码: |
选择“ H”作为RECORD_TYPE
, 焦炭(CURRENT DATE, ISO)|| ''AS CARD_ACCT_PLSTC_NO
从SYSIBM.SYSDUMMY1 |
当我在SPUFI中使用相同的查询时,它很好用。但是,当我将记录放入FILE时,出现了错误。
在SPUFI中,输出如下所示:
--------- + --------- + --------- + --------- + --------- + --
RECORD_TYPE CARD_ACCT_PLSTC_NO
--------- + --------- + --------- + --------- + --------- + --
H 2007-08-02
当我将其卸载到文件中时,结果如下:
..H..2007-08-02
我希望输出是这样的:
H2007-08-02
先谢谢您的帮助。  |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
码: |
选择'H'||
CHAR(CURRENT DATE, ISO)|| ''AS RECORD_TYPE_CARD_ACCT_PLSTC_NO
来自SYSIBM.SYSDUMMY1; |
|
|
回到顶部 |
|
 |
socker_dad
活跃用户

已加入:2006年12月5日 职位:171 地点:华盛顿州西雅图
|
|
|
|
有趣。
我尝试了dbz的代码,尽管其余部分看起来不错,但我仍然在第1列和第2列中得到了十六进制值(X'000C')。
我不知道这是为什么。  |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
有趣的是(X'000C')= 12以10为基数,这是数据的长度。
可能正在卸载到可变长度文件,或者在输出过程中没有关闭VLI生成器。 |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
实际上0c是13,这是生成的输出的长度。
只是在开玩笑-真的是12。 。 |
|
回到顶部 |
|
 |
Craq Giegerich
高级会员
加入时间:2007年5月19日 帖子:1512 地点:美国弗吉尼亚
|
|
|
|
当您使用像'H'这样的文字时,它将被视为varchar字段,如果将其强制转换为char(1)字段,则不会在其前面获得2字节长的字段。 |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
谢谢Craq,
我们知道为什么vli =12。(尽管我以前的帖子!)
1代表H
日期为10
日期后的空格为1。 |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
码: |
选择投放('H' ||CHAR(CURRENT DATE, ISO) || ' ' AS 焦炭(12))
来自SYSIBM.SYSDUMMY1;
|
|
|
回到顶部 |
|
 |
socker_dad
活跃用户

已加入:2006年12月5日 职位:171 地点:华盛顿州西雅图
|
|
|
|
甜! |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
谢谢编辑我帖子的人,我不是在开玩笑。塞尔·佩恩利希 |
|
回到顶部 |
|
 |
斯托多拉斯
活跃成员

已加入:2007年6月13日 帖子:632 地点:威斯康星州
|
|
|
|
我的理解是,卸载实用程序将其卸载以与DCLGEN抄写本相匹配,以便在COBOL中使用该表。它保存comp-3等。 |
|
回到顶部 |
|
 |
村里922
新的用户

加入:2005年7月25日 帖子:92 地点:印度
|
|
|
|
我原来的SQL看起来像这样:
码: |
选择“ H”作为RECORD_TYPE
, 焦炭(CURRENT DATE, ISO)|| ''AS CARD_ACCT_PLSTC_NO
从SYSIBM.SYSDUMMY1
UNION ALL
当AMOUNT_NO ='00'时选择案例
THEN 'B'
ELSE 'S'
END AS RECORD_TYPE
, 焦炭(CURRENT DATE, ISO)|| ''AS CARD_ACCT_PLSTC_NO
从SYSIBM.SYSDUMMY1B
UNION ALL
按RECORD_TYPE选择“ T”
,''AS CARD_ACCT_PLSTC_NO
从SYSIBM.SYSDUMMY1
; |
我需要在所有3个部分中都使用相同的布局,因为我使用UNION ALL。在这种情况下,我将无法使用大家提出的解决方案,就像我在使用您提出的解决方案一样,我根本没有变量RECORD_TYPE。
还有其他方法可以删除所有变量前面的..吗?
谢谢 |
|
回到顶部 |
|
 |
村里922
新的用户

加入:2005年7月25日 帖子:92 地点:印度
|
|
|
|
当STU_NAME ='00'时选择案例
THEN SCHOOL_NAME
埃尔斯
在TABLE_A中以SCHOOL_NAME结尾;
SCHOOL NAME is defined in the table as 焦炭(35).
第一条记录有
教育的阿尔法衔接学校
印度商学院
第一条记录很好。但是下一个记录在开头有2个空格。
由于该字段中的值始终不会是CHAR(35),有时可能小于35个字节,
我认为需要一种解决方案来首先删除空格。
我使用过CAST,但它不起作用。我也尝试将SQL修改为:
当STU_NAME ='00'时选择案例
THEN SCHOOL_NAME
埃尔斯
在TABLE_A中以SCHOOL_NAME结尾;
当STU_NAME ='00'时选择案例
THEN SUBSTR(CAST(COMPANY_NM AS 焦炭(35)),1,35)
埃尔斯
在TABLE_A中以SCHOOL_NAME结尾;
当STU_NAME ='00'时选择案例
THEN SUBSTR(CAST(COMPANY_NM AS 焦炭(35)),1,
LENGTH(RTRIM(COMPANY_NM)))
埃尔斯
在TABLE_A中以SCHOOL_NAME结尾;
没事。让我知道您是否还有其他方法可以解决此问题。 |
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
你好,
为什么不修改接收过程以按过程创建数据的方式处理数据?只要数据一致,就不成问题。 。 。? |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
您可以将其分解为不同的步骤。看来您正在创建标题,明细和尾部记录。您可以在步骤1中创建标题,在步骤2中创建详细信息,并在步骤3中创建预告片,然后合并这三个文件。因此,在详细记录提取中不需要联合 |
|
回到顶部 |
|
 |
|