高度な文字列操作
メニューを表示するにはスワイプしてください
顧客のメールアドレスを扱う際、ユーザーのプライバシーを保護するために機密情報をマスキングする必要があります。SQLコードでは、regexp_replace関数を使用して、各メールアドレスの@記号より前の部分をすべて***に置き換えます。これにより、ドメイン部分のみが表示され、実際のユーザー名は非表示となります。regexp_replaceのような文字列関数は、データの変換や機密情報のマスキング、ビジネス要件に応じた標準化に不可欠です。
1234SELECT name, regexp_replace(email, '^[^@]+', '***') AS masked_email FROM customers;
ユーザー入力のクリーンアップも、データベース管理において重要な作業です。ユーザーが名前や都市名の先頭や末尾に余分なスペースを誤って入力する場合があります。TRIM関数は文字列の先頭と末尾の両方のスペースを削除し、LTRIMは先頭のみ、RTRIMは末尾のみのスペースを削除します。これにより、データが一貫性を持ち、クエリやレポートで扱いやすくなります。
123456-- Remove unwanted spaces from city names SELECT city, TRIM(city) AS cleaned_city, LTRIM(RTRIM(city)) AS also_cleaned_city FROM customers;
文字列の一部を抽出することも一般的な要件。たとえば、都市名を最初の単語と残りの部分に分割する場合、CHARINDEX を使ってスペースの位置を特定し、SUBSTRING と組み合わせて各部分を抽出可能。
12345SELECT city, substring(city from 1 for position(' ' in city || ' ') - 1) AS first_word, substring(city from position(' ' in city || ' ') + 1) AS remaining FROM customers;
1. 文字列の先頭と末尾のスペースを削除する関数はどれですか?
2. SQL クエリで REPLACE は何をしますか?
3. SUBSTRING と CHARINDEX を使って city 列から最初の単語を抽出するために空欄を埋めてください。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 4
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 4