16 자리 숫자의 두 번째 숫자를 '1'로 업데이트하는 방법은 무엇입니까?열의 두 번째 숫자 업데이트
이것은 쉬운 것이어야하지만 나는 운이 없었습니다.
SQL Server 2000 및 2005 (여러 환경 - 동일한 데이터베이스 테이블)로 작업하고 있습니다.
내가 온라인 솔루션을 검색 분명히 오라클에서 일 것이다,하지만이 실행할 때 SQL 서버는 파이프 기호를 좋아하지 않는 한 발견:
UPDATE INTERFACE
SET OptionBits = substring(OptionBits,1,1)|| replace(substring(OptionBits,2,1), '0', '1')||substring(OptionBits,3, 14)
WHERE ObjectNumber = 5
나는 단지 하나를 업데이트 하시겠습니까이 객체 숫자 = 5입니다.
Replace
을 사용하여 살펴 보았지만 해결책이 아닙니다.
트릭이란 무엇입니까?
미리 감사드립니다.
컬럼의 이름은 실제로에서 * 복수 * 데이터 항목을 저장하고 제안 단일 열. 이것은 대개 잘못된 아이디어이며 이와 같은 복잡한 쿼리로 이어집니다. 여러 항목 (테이블)을 저장하기 위해 SQL이 지원하는 데이터 형식을 사용하는 것이 훨씬 더 좋습니다. 예 : 'CREATE TABLE 옵션들 (ObjectNumber int, OptionPosition int, OptionSetting bit)'. –