mssql 홑따옴표 넣기
가끔 홑따옴표를 문자열처럼 쿼리해야 할 때가 있다.
그때 홑따옴표를 2개를 연달아 넣거나 3개를 넣거나 어렵고 모르겠다
그냥 char(39) 로 처리하자
selelct char(39) + '쥐쥐정' + char(39)
from dual
결과
'쥐쥐정'
요딴식 으로 나올 듯 하다.
카달로그뷰 를 이용해서 쿼리할때도 이런식이다.
select 'select * from ' + b.name +' where ' + a.name + + ' = ' +char(39) + '00133' + CHAR(39)
from syscolumns a, sysobjects b
where a.id = b.id
and b.xtype = 'U'
and a.name in ('cscd','customcd')
sysobjects 에서 테이블명을 가져오고 syscolumns 컬럼명을 가져온다.
위의 질의는 테이블에 cscd,customcd(거래처) 필드를 가지고 있는 테이블과 컬럼명 들을 질의해와서
select 문으로 뽑아보는 쿼리이다.
돌리면 결과는
select * from mkord01t where customcd = '00133'
select * from mkcrp09t where customcd = '00133'
select * from scupl15t where customcd = '00133'
select * from mkcrp03t where customcd = '00133'
select * from mkcrp04t where customcd = '00133'
이런식으로 결과가 나올거고....
행을 복사해서 쿼리 분석기에 붙여놓고
돌리면 쫙 배치 셀렉트가 될것이고...
00133으로 되어있는 거래처를 다른 코드로 바꿀려면
update 문으로 구성하면 될듯 하다.
홑따옴표 얘기하다가,, 카달로그뷰로 일괄 쿼리 뽑아내는 곳으로 샜네요.