J'ai mon énoncé de mise à jour dans Oracle SQL où je concaténate N après mon 9ème octet de misc_flags mais dans certains cas, nous avons l'exemple 8ème et 9ème octet dans le drapeau Divers Set comme null. La sous-chaîne dans ces cas ne considère pas les 8ème et 9ème octets et met à jour le 8ème octet à n au lieu de 10e. P> Quelqu'un a-t-il une alternative pour cela? P> P>
3 Réponses :
Je pense que vous voulez ceci ajoute des caractères vides à rpad () code>:
misc_flags code> s'il a moins de 9 caractères . p> p>
Vous pouvez utiliser RPAD () code>. Par exemple:
Je ressens qu'une combinaison de RPAD -> substraire sous la mode ci-dessous doit vous aider.
Voici un FIDDLE pour votre aide. P>
UPDATE SYS_CODE SET MISC_FLAGS = SUBSTR(RPAD(MISC_FLAGS, 9, '0'),1,9)|| 'N', mod_date_time = sysdate, user_id = 'Feature Number' WHERE REC_TYPE = 'X' AND CODE_TYPE= 'XXX' AND CODE_ID = 'XXXX';
Ensuite, vous devriez considérer et nous dire quel personnage que vous voulez dans la 8ème et 9ème position.