Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Databases Reporting with SQL Working with Text Replacing Strings

REPLACE function

In the customers table there's an email column. Write a query that will retrieve all email addresses but will replace the @ symbol with <at> so they all look like andrew<at>teamtreehouse.com. Alias it as obfuscated_email .

My answer: SELECT REPLACE(<email>, <"@">, <at>) FROM <customers> AS "obfuscated_email"

I am not quite getting this. Can someone explain what I am doing wrong please

1 Answer

Brendan Whiting
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Brendan Whiting
Front End Web Development Techdegree Graduate 84,738 Points

First of all, there are a few problems with the angle brackets <>. The only purpose of the angle brackets in this query should be as a part of the string "<at>" that we're using to replace the "@" symbol. Everything other place in this query we don't need angle brackets.

In the REPLACE function:

  • First argument: The column isn't called <email>, it's just email.
  • 2nd argument: we just want the @ symbol in parens "@", not enclosed in angle brackets.
  • 3rd argument: this is where we want the angle brackets, but the argument still needs to be wrapped in quotes because it's a string: "<at>"

Also, the table name is just customers not <customers>. And we need to alias the column right after the WHERE function, not later.

SELECT REPLACE(email, "@", "<at>") AS "obfuscated_email" FROM customers;