在存储过程中定义了参数 DECLARE V_YRMTH VARCHAR(8);
SET V_YRMTH=RTRIM(CHAR(IN_STAT_DATE)); ----例如:'201106'
在后面使用这个时间参数(clndr_dt_id 这个在源表A中定义的是 integer )
A.clndr_dt_id = integer('''||V_YRMTH||''')和 A.clndr_dt_id = '||V_YRMTH||'这两种方式,都是正确的,让我琢磨不透,我知道||是连接符号,知道'''中有一个是转义字符。我就是不明白第二种形式下为什么还要两端加一个 ' , 里面的参数是字符型的,通过||连接之后应该需要转型啊,因为clndr_dt_id 是integer型的,但是它却是加 ' 就可以了 ,请高人帮我解答,小弟在线等高见。
又想到一种情况,如果我定义的参数 DECLARE V_YRMTH integer; 就是整型, 那么
A.CLNDR_DT_ID = ?? (应该怎么写呢)
请大哥大姐们帮帮小弟啊,献高分!!!
------解决方案--------------------------------------------------------
三个单引号转义为一个