Skip to main content

MySQL CONCAT() function returns NULL when one of the argument field value is NULL - Fix


MySQL String Concatenate Functions - MySQL CONCAT() function returns NULL when one of the argument field value is NULL




In MySQL for concatenating two or more stings or Field values we use CONCAT().It returns the string that results from concatenating the arguments. So even if all the argument fields except one have valid data it will return NULL



Syntax: CONCAT('STRING1','STRING2','STRING3',....)

Example Query: SELECT CONCAT(APPLICANT1, ', ' , APPLICANT2) AS APPLICANTS FROM TBL_APPLICATION;

There is an issue with this function. ie, CONCAT() returns NULL if any of the arguments is NULL.

mysql> SELECT CONCAT('First Name', NULL, 'Last Name');
          >> NULL

Suppose you are fetching a Concatenation string of Applicant names from a MySQL Table

SELECT CONCAT(APPLICANT1, ', ' , APPLICANT2) AS APPLICANTS FROM TBL_APPLICATION;
In this case if APPLICANT2 field is NULL then it will return NULL


You can do a work around on CONCAT() using the IFNULL() to fix this

SELECT CONCAT(IFNULL(APPLICANT1,''),' ',IFNULL(APPLICANT2,'')) AS APPLICANTS

The IFNULL function will check whether the field value is empty , and returns a blank value (which is not NULL)



OTHER OPTION is to use MySQL Concatenate With Separator (CONCAT_WS) Function

CONCAT_WS - Concatenate With Separator

Syntax: CONCAT_WS('SEPARATOR','STRING1','STRING2','STRING3',....)

Example Query: SELECT CONCAT_WS(', ',APPLICANT1,'APPLICANT2') AS APPLICANTS FROM TBL_APPLICATION;

Function skip any NULL values given after the separator string. Example given below:

mysql> SELECT CONCAT_WS(',','Name',NULL,'Family Name');
      >> 'Name,Family Name'

References:
MySQL Tutorial "CONCAT_WS()"
MySQL Tutorial "CONCAT()"
MySQl Control Flow Functions ( IFNULL )

Popular posts from this blog

How to delete videos from your Youtube Watch History list?

How to Delete Individual or all videos from your Youtube Watch History list? Youtube keeps a fine record of the videos that you had watched earlier. You can view this by visiting the History section. If you want to remove the video's from the list do the following: Logon to Youtube and click on the "History" tab on the left menu to view Watch History ( Read more ) There will be check boxes corresponding to each video in the list Tick the check boxes of the videos which you want to remove Click on " Remove " button to delete the videos.

How to add "Link to this page" option under blogger posts?

Steps in adding Link to this page to your blogger posts Links to your page can improve your page rank. So it is a good option to add HTML code for linking to your web page. So that reader can copy and paste it on their web page. if another website links to your web page, this is considered an external link to your website. External links to your website are the most important source of ranking power and in SEO terminology it is considered as third party ranking vote for your page.

Intex Aqua 5.5 VR Plus genuine Review - Dont Buy Intex Aqua 5.5 VR Plus - Board complaint and low battery backup issues

Intex Aqua 5.5 VR Plus  Review - Dont Buy Intex Aqua 5.5 VR + - Board complaint and low battery backup issues I bought an Intex Aqua 5.5 VR Plus on April 23, 2018, With in a week it started to show Battery backup issues. Even if it is charged full, it will completely drain out with in 12 or 13 hours. During this time No internet was used, only 2 or 3 calls were done. Some times there was issues with net connection also.


Urgent Openings for PHP trainees, Andriod / IOS developers and PHP developers in Kochi Trivandrum Calicut and Bangalore. Please Send Your updated resumes to recruit.vo@gmail.com   Read more »
Member
Search This Blog