IBM i SQL – Using SUBST to insert data into a string

  • Home
  • /
  • Blog
  • /
  • IBM i SQL – Using SUBST to insert data into a string

October 31, 2018

IBM i SQL – Using SUBST

A while ago I had a problem where I wanted to change the first two characters in a table and I used the very simple concat and subst operations to do it with SQL.

Today, we had a slightly more complex requirement of updating text in the middle of a field using SQL, or in other other words, squeezing some data into a field in a database.

Example: Imagine a flat file (aka table) has one big field (aka column) and we want to change two characters at position 69 & 70 dependent on certain conditions.

So, we are effectively squishing three things together — the beginning bit of data, our new characters and the end bit.

The trouble is, concat only allows two things to be squished together and since we need to update characters in the middle of a string -we are going to simply use concat twice:

update fileset
 set fieldA =
 concat( substr(fieldA,1,68) , concat('T1' , substr(fieldA,71)))
 where fieldB = 'stuff' and
 fieldC = 'otherstuff'

Works like a charm!

#memoryJoggerRecorded

🙂

NickLitten


IBM i Software Developer, Digital Dad, AS400 Anarchist, RPG Modernizer, Shameless Trekkie, Belligerent Nerd, Englishman Abroad and Passionate Eater of Cheese and Biscuits.

Nick Litten Dot Com is a mixture of blog posts that can be sometimes serious, frequently playful and probably down-right pointless all in the space of a day.

Enjoy your stay, feel free to comment and remember: If at first you don't succeed then skydiving probably isn't a hobby you should look into.

Nick Litten

related posts:

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Subscribe NOW
7-day free trial

Take This Course with ALL ACCESS

Unlock your Learning Potential with instant access to every course and all new courses as they are released.
 [ For Serious Software Developers only ]

Online Learning for IBM i Software Technology Professionals

“The more that you read, the more things you will know. The more that you learn, the more places you’ll go.” – Dr. Seuss

>