从SQL select语句连接值

时间:2017-03-28 23:16:45

标签: sql string oracle

我正在从oracle数据库中进行基本的SQL选择。

select DISTINCT spriden_pidm, a.saracmt_comment_text, spriden_id, c.saracmt_comment_text, '2017' as "YEAR", szrspdc_prog_code
from spriden, sarappd, saradap, stvapdc, saracmt a, saracmt c, szrspdc
where blah blah blah

以下三个字段用作我正在导入的另一个系统中的键,因此我需要将以下内容放入一个字段中:c.saracmt_comment_text, '2017' as "YEAR", szrspdc_prog_code.

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

Oracle中的字符串连接运算符是||。因此,您需要使用以下查询:

select DISTINCT 
c.saracmt_comment_text || '2017' || szrspdc_prog_code as key_field
spriden_pidm, a.saracmt_comment_text, spriden_id, 
c.saracmt_comment_text, '2017' as "YEAR", szrspdc_prog_code 
from spriden, sarappd, saradap, stvapdc, saracmt a, saracmt c, szrspdc 
where blah blah blah

答案 1 :(得分:0)

你想在PL / Sql中执行此操作,还是在接收端是C#/ VB.NET代码?我假设PL / Sql。

Procedute SomeName(DataOut OUT Varchar2) IS
    WResult Varchar2(4000) -- I don't know the size of 2 of the table columns involed so I use the max size of Varchar2 which is 4000
Begin

    select into wResult a.saracmt_comment_text || YEAR || szrspdc_prog_code from
    (
      select DISTINCT spriden_pidm, a.saracmt_comment_text, spriden_id,
      c.saracmt_comment_text, '2017' as "YEAR", szrspdc_prog_code from  
      spriden, sarappd, saradap, stvapdc, saracmt a, saracmt c,
      szrspdc_prog_code where Conditions
    );

   DataOut := wResult;
End;

希望这有帮助。

R / 普雷斯科特......