How can we capitalize only first letter of a string with the help of MySQL function/s?

Actually, there is no single function in MySQL to capitalize only first letter of the string. We need to use nesting of functions and for this case, we can use UPPER() and LOWER() with SUBSTRING() functions. To understand it, we are using data, given as below, from ?emp_tbl?.

<span class="pln">mysql</span><span class="pun">></span><span class="pln"> </span><span class="typ">Select</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> emp_tbl</span><span class="pun">;</span><span class="pln">
</span><span class="pun">+----+----------------+</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="typ">Id</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> </span><span class="typ">Name</span><span class="pln">           </span><span class="pun">|</span><span class="pln">
</span><span class="pun">+----+----------------+</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="lit">1</span><span class="pln">  </span><span class="pun">|</span><span class="pln"> rahul singh    </span><span class="pun">|</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="lit">2</span><span class="pln">  </span><span class="pun">|</span><span class="pln"> gaurav kumar   </span><span class="pun">|</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="lit">3</span><span class="pln">  </span><span class="pun">|</span><span class="pln"> yashpal sharma </span><span class="pun">|</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="lit">4</span><span class="pln">  </span><span class="pun">|</span><span class="pln"> krishan kumar  </span><span class="pun">|</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="lit">5</span><span class="pln">  </span><span class="pun">|</span><span class="pln"> kuldeep rai    </span><span class="pun">|</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="lit">6</span><span class="pln">  </span><span class="pun">|</span><span class="pln"> munish nayak   </span><span class="pun">|</span><span class="pln">
</span><span class="pun">+----+----------------+</span><span class="pln">
</span><span class="lit">6</span><span class="pln"> rows </span><span class="kwd">in</span><span class="pln"> </span><span class="kwd">set</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0.00</span><span class="pln"> sec</span><span class="pun">)</span>

We can see from the above result set that the first character of name string is in small letters. The following query will capitalize the first letter of string ?

<span class="pln">mysql</span><span class="pun">></span><span class="pln"> </span><span class="typ">Select</span><span class="pln"> CONCAT</span><span class="pun">(</span><span class="pln">UPPER</span><span class="pun">(</span><span class="pln">SUBSTRING</span><span class="pun">(</span><span class="pln">name</span><span class="pun">,</span><span class="lit">1</span><span class="pun">,</span><span class="lit">1</span><span class="pun">)),</span><span class="pln">LOWER</span><span class="pun">(</span><span class="pln">SUBSTRING</span><span class="pun">(</span><span class="pln">name</span><span class="pun">,</span><span class="lit">2</span><span class="pun">)))</span><span class="pln"> AS </span><span class="typ">Name</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> emp_tbl</span><span class="pun">;</span><span class="pln">
</span><span class="pun">+----------------+</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="typ">Name</span><span class="pln">           </span><span class="pun">|</span><span class="pln">
</span><span class="pun">+----------------+</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="typ">Rahul</span><span class="pln"> singh    </span><span class="pun">|</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="typ">Gaurav</span><span class="pln"> kumar   </span><span class="pun">|</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="typ">Yashpal</span><span class="pln"> sharma </span><span class="pun">|</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="typ">Krishan</span><span class="pln"> kumar  </span><span class="pun">|</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="typ">Kuldeep</span><span class="pln"> rai    </span><span class="pun">|</span><span class="pln">
</span><span class="pun">|</span><span class="pln"> </span><span class="typ">Munish</span><span class="pln"> nayak   </span><span class="pun">|</span><span class="pln">
</span><span class="pun">+----------------+</span><span class="pln">
</span><span class="lit">6</span><span class="pln"> rows </span><span class="kwd">in</span><span class="pln"> </span><span class="kwd">set</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0.00</span><span class="pln"> sec</span><span class="pun">)</span>
Updated on: 2023-09-14T21:21:45+05:30

29K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements