0
votes

Sous-chaîne alternative à considérer les valeurs null dans SQL

J'ai mon énoncé de mise à jour dans Oracle SQL où je concaténate N après mon 9ème octet de misc_flags xxx

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.

Quelqu'un a-t-il une alternative pour cela?


1 commentaires

Ensuite, vous devriez considérer et nous dire quel personnage que vous voulez dans la 8ème et 9ème position.


3 Réponses :


1
votes

Je pense que vous voulez rpad () : xxx

ceci ajoute des caractères vides à misc_flags s'il a moins de 9 caractères .


0 commentaires

0
votes

Vous pouvez utiliser RPAD () . Par exemple: xxx


0 commentaires

0
votes

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';


0 commentaires