Difference between revisions of "Making Use of Translate"

From TekiWiki
Jump to: navigation, search
(Created page with "Ever had the problem where some of the rows on a large Oracle Database table do not conform to a particular format? Or you wonder which different formats are in use? This...")
 
Line 15: Line 15:
 
(999) 999 9999  2567
 
(999) 999 9999  2567
 
999-999-9999.    23848
 
999-999-9999.    23848
(99999) 999999.  73658
+
(99999) 999999.  76658
 
+99 999 999 999. 3
 
+99 999 999 999. 3
 
 
</pre>
 
</pre>
 +
 +
The last three might have been difficult to find without this trick.

Revision as of 09:10, 15 June 2016

Ever had the problem where some of the rows on a large Oracle Database table do not conform to a particular format? Or you wonder which different formats are in use?

This where the translate command comes into its own. For instance, imagine you have a column the contains telephone numbers, but they are in a variety of formats, and you want to know how many different formats there are and how many rows in each format;

select translate(PHONE_NBR,1234567890','9999999999') PHONE_FORMAT, count(*) ROW_COUNT
From PERSONAL_PHONE
group by translate(PHONE_NBR,'1234567890','9999999999')

This would yield something like:

PHONE_FORMAT   ROW_COUNT
(999) 999 9999   2567
999-999-9999.    23848
(99999) 999999.   76658
+99 999 999 999. 3

The last three might have been difficult to find without this trick.