웹버젼에선 쿼리문으로 숫자체크인 isnumeric 함수가 적용이 되는데요 5.0 버젼에선 이와같이 적용할려면 어떻게 해야 하나요?
IsNumeric은 최신 버전에 새로 추가된 SQL 함수 같습니다. 벌써 출시된지 4,5년 지난 5.0 버전에는 없었던 것 같네요. (Cache5 클래스 레퍼런스 참조 http://www.intersystems.com/cache/documentation/cache5docs/PDFS/ROBJ.pdf)
숫자인지 아닌지를 알아보려면, CacheSQL은 문자에 대해서도 숫자 연산을 수행하면, 자동으로 해당 문자열의 앞에 나오는 숫자로 변환한 후에 계산식을 수행하게 됩니다.
가령, 아래와 같은 SQL문을 수행하면,
select top 1 +'3A',+'-3AA',+'AA' from dual
아래와 같은 결과가 나오지요:
3 -3 0
그래서 아래와 같은 식으로 하면 원하는 비슷한 결과를 얻을 수 있지 않을까 생각됩니다만, 응용해 보시기 바랍니다.
select top 1 1 from dual where (+'1AA'<0) or (+'1AA'>0) or ('1AA'='0')
1이 나오면, field는 숫자겠고, 아니면 문자겠지요.