Hi can I ask some help please. I have column like student_name and I want to capitalize the first letter of each word .
ex: beth anne
then it will convert to
Beth Anne
Thank you in advance
Hi can I ask some help please. I have column like student_name and I want to capitalize the first letter of each word .
ex: beth anne
then it will convert to
Beth Anne
Thank you in advance
First, you should be storing the first and last name in their own columns. I suggest you fix the DB.
Because of the âincorrectâ db design, the solution to what you want to do is more complicated than it would have been with just a single name in each column.
For a single column with one name the query would have been:
UPDATE students
SET first_name = CONCAT(UCASE(SUBSTRING(first_name, 1, 1)), LOWER(SUBSTRING(first_name, 2)));
But, for a single column with only two names, first and last, this will update your DB.
UPDATE students
SET student_name = CONCAT(
UPPER(SUBSTRING(student_name, 1, 1)),
LOWER(SUBSTRING(student_name, 2, LOCATE(' ', student_name) - 2)),
' ',
UPPER(SUBSTRING(student_name, LOCATE(' ', student_name) + 1, 1)),
LOWER(SUBSTRING(student_name, LOCATE(' ', student_name) + 2))
)
WHERE student_name LIKE '% %';
Hi thank you,
But how can I run that in one SQL? because I have 1 million records. I will update via php script in the background.
What about a name like
Huber van Eiken
In that Case you will be lost anywayâŚ
Or handle it through the output. CSSâs text-transform: capitalize
will also accomplish this (though as Thallius points out, is this actually what you want to do?)
Hi Guys
Limit only to two words.
so if my column has 1 value only capitalized the first Letter if 2 words or more like Thallius said. Only the 2 word will be capitalized the first letter.
What about hyphenated words?
Should Beth ann smith be Beth Ann Smith or Beth ann Smith? Henry Wadsworth Longfellow? Francis Ford Coppola? (A computer has no concept of what that middle word is - itâs all just letters in a string.)
Hi
No worries about that because it is already in small caps when I inserted it into the table.
Thanks
a SQL table doesnt have the concept of âsmall capsâ, because a SQL table doesnt have a typeface.
Hi
During entry of my data using php I convert to strtolower so all data inserted to my table column name is in lower case format.
right. So if youâve rendered Francis Ford Coppolaâs name, itâs now francis ford coppola
. If you then capitalize only 2 words in the name, you get Francis ford Coppola
.
My point is, there are some people who are known by more than 2 word names. SOME of them capitalize all the words. Some of them dont. How do you distinguish? Human brain.
so âcurlyâ becomes âCurlyâ
but âcurly joeâ becomes âcurly Joeâ?
please confirm
you do realize OPâs problem has nothing to do with human names, right?
That being the case, it is pointless to then go back and update the DB data. From the comment from@r937 it seems you may have something else going on that you are not disclosing. If that is the case, you need to tell us exactly what you have going on or you are just wasting our time trying to resolve some hypothetical scenario. I withdraw my previous advice until I know what we are really dealing with.
Not sure if joking or misinterpreting âstudentâ to be some sort of domesticated animal?
could be any 1- or 2-word thingamajig, disguised as âstudent nameâ
Hi
curly joe will convert to Curly Joe,
by the way, my column student name
is not combined with Firstname and Lastname.
It is only the studentâs first name.
ex:
anne will convert to Anne
jane marie will convert to Jane Marie.
Thank you
Thanks for solving this, I wanted to do something similar on my site, but was having the same issue.
Thank you all