0
Transact SQL에서와 같이 동적 SQL을 사용하여 다음을 단순화하고자합니다. MySQL 변수 대체
가능 여부와 방법 그렇다면 adive하십시오 ('', FIELD_NAME, '_complete')를SET @s = replace(field_name, '_complete','')
및 @s 사용하는 대신 대체 :
내가 좋아하는 일을하고 싶습니다.
내 현재 코드 :
select distinct
if(instr(replace(field_name, '_complete',''),'_') <= 5
,left(replace(field_name, '_complete','')
,instr(replace(field_name, '_complete',''),'_') - 1
)
,replace(field_name, '_complete','')
) AS form_id ,replace(
if(instr(replace(field_name, '_complete',''),'_') <= 5,
mid(replace(field_name, '_complete',''),
instr(replace(field_name, '_complete',''),'_') + 1,
length(replace(field_name, '_complete','')) - instr(replace(field_name, '_complete',''),'_')
)
,replace(field_name, '_complete','')
),
'_',
' ') as form_name ,field_name from redcap_extract2use where field_name like '%_complete' order by 1;
위 다음으로 대체 될 것이다 :
select distinct
if(instr(@s,'_') <= 5 ,left(@s,instr(@s,'_') - 1),@s) AS form_id
,replace(if(instr(@s,'_') <= 5,
mid(@s,instr(@s,'_') + 1,length(@s) - instr(@s,'_')),@s), '_', ' ') as form_name
,field_name
from redcap_extract2use
where field_name like '%_complete'
order by 1;
과 내가 가진 것 인 실행 ... 쿼리