i need to extract part of a string from a mysql column and check if it is empty, then count the empty parts of the string.
However, i need to check multiple parts of the same string and I am looking for a better way of doing the count.
I have three columns: address1, address2, address3.
in address1: streetname\postalcode\city\country
in address2: Name3\streetname\postalcode\city\country
in address3: Name3\streetname\postalcode\city\country
The data in the fields comes in the format:
"1","12","streetName\00000\city\SE" "Name12\streetName\00000\city\SE","Name13\streetName\00001\city\SE"
"2","11","streetName\\city\SE","Name11\\00011\city\SE","Name12\\\city\SE"
"3","13","\\\","\\\\","\\\SE"
"4","14","\\\SE","some\\\\SE","address3\\\\SE"
"5","15","street1\\city1\SE","name15\\city2\SE","name15\street3\12345\city3\SE"
"6","16","street1\12345\\SE","name16\street2\\\SE","name16\\\city3\SE"
The columns are in the same same table.
Please kindly advice how to improve the mysql queries below.
SELECT COUNT(LENGTH(TRIM(SUBSTRING_INDEX(address1,'\\',1))) = 0 )
AS "CustomerAddress.StreetName"
FROM library.table_demo
WHERE LENGTH (TRIM(SUBSTRING_INDEX(address1,'\\',1))) = 0 ;
SELECT COUNT(LENGTH (TRIM(SUBSTRING_INDEX (SUBSTRING_INDEX(address1,"\\",2) ,"\\",-1)) )=0)
AS "CustomerAddress.PostalCode"
FROM library.table_demo
WHERE LENGTH (TRIM(SUBSTRING_INDEX (SUBSTRING_INDEX(address1,"\\",2) ,"\\",-1)) )=0 ;
SELECT COUNT(LENGTH( TRIM( SUBSTRING_INDEX (SUBSTRING_INDEX(address1,"\\",3) ,"\\",-1) ) =0) )
AS "CustomerAddress.City"
FROM library.table_demo
WHERE LENGTH ( TRIM( SUBSTRING_INDEX (SUBSTRING_INDEX(address1,"\\",3) ,"\\",-1))) = 0 ;
At the moment I am running 6 separate queries to get the result, however, if i can condense these to a single query would be superb.
