Join Bill Weinman for an in-depth discussion in this video Making strings uppercase and lowercase, part of SQL Essential Training (2014).
There are circumstances where it can be useful to force a string to all upper case or all lower case. SQL provides the upper and lower functions for this purpose. For this movie we'll be using the world.db database, and we'll start by selecting a literal string. I have alternated upper and lower case characters here, and we'll notice that it does this. And if I check this for equality with a string that's all lower case, but has the same letters, you'll notice that it's not equivalent.
The zero there is false. And that's because the actual characters that are being compared are not the same. On the other hand, if I use the lower function here. And I'm going to put the lower function on both of them even though it won't actually do a conversion on the second one. It's traditional to compare strings with the same transformation on both of them. And if I press Go, you'll notice that it's now evaluating as true. Likewise, if I change both of these to upper. It still evaluates to true.
So there's a conversion happening. These upper and lower functions are converting the string to either all upper case or all lower case. Let's look at a more practical example. Now I am selecting the name column from the city table, and I am converting it to upper case in my select statement, so the result is that all the strings in my result are all upper case. You'll notice that accented characters like the Enya in this name here are not converted.
Depending on the collation algorithms for you system, this may or may not as expected. Most systems provide ways of selecting or creating alternate collations that may help in converting accented characters. Now if I change this to lower, you'll see that all of these characters are now lower. The upper and lower functions are used for normalizing the case of data, which can make comparing strings more effective.
- Understanding SQL terminology and syntax
- Creating new tables and records
- Inserting and updating data
- Writing basic SQL queries
- Sorting and filtering
- Accessing related tables with JOIN
- Working with strings
- Finding the numeric type of a value
- Using aggregate functions and transactions
- Updating a table with triggers
- Creating views
Skill Level Beginner
Q: For Mac OS X: When I try to start the Apache Web Server from the XAMPP control panel, it doesn't start, and when I open "localhost" in my web browser, I see a white screen that says "It Works!" instead of the XAMPP page.
sudo apachectl stop
Q: I'm on a Mac, and I get an error in SID that says "attempt to write a read only database." How can I fix this?
A: This usually means that the database folder does not have sufficient permissions for writing by the web user. This can happen if you create the SQL folder new, rather than copying it from the Exercise Files. Here's how to fix this:
- Open a Finder window and Navigate to /Applications/XAMPP/htdocs/SQL
- Control-click on the SQL folder and select "Get Info" from the context menu.
- Under "Sharing and Permissions" (you may need to open the disclosure triangle), in the "everyone" row, select "Read & Write."Then you can close the Info window.
- Now repeat the process for the three *.db files inside the folder.