I have a column with the following values:
column_1
1223B
123C
028409d
abce
ABCf
I want to write a case statement that takes a value of 1 if the last value in the string is lowercase, otherwise 0.
Any suggestions how I can approach this?
Edit #1:
The only values that will be found in this column are numbers and letters.
Edit #2:
The last character of the string will always be a letter.
Depending on how you want to handle string that don't end with an uppercase/lowercase character, you could do:
case when substr(column_1, -1) = lower(substr(column_1, -1)) then 1 else 0 end
or
case when substr(column_1, -1) != upper(substr(column_1, -1)) then 1 else 0 end
The substr(column_1, -1)
gives you the last character; from the documentation:
If position is negative, then Oracle counts backward from the end of char.
You can then compare that with the the lower(...)
(or upper
) of that and see it if matches.
You could also use a regular expression but that doesn't seem necessary here.