SQL– category –
-
SQL
SQL TO_CHAR で日時を文字列に変換する方法|フォーマット一覧付き
SQLで日付や日時を扱っていると、「YYYYMMDD形式で出したい」「時刻付きで表示したい」といった場面は頻繁にあります。 そんなときに使うのが TO_CHAR 関数 です。 この記事では、 TO_CHARの基本的な使い方 日時を文字列に変換する代表的なフォーマット よ... -
SQL
SQL:複数行の値を1行にまとめたい時に使う関数(LISTAGG / STRING_AGG)
SQLを使っていると、次のように複数行の値をカンマ区切りで1つにまとめたい場面があります。 🔹例:従業員テーブル これを次のように集約したい👇 こういった「行→1セルまとめ」が必要な時に便利なのが、 👉 LISTAGG👉 STRING_AGG の2つです。データベース... -
SQL
SQL 日付条件で絞り込みたい時の書き方(BETWEEN/>=/<=)
SQLで日付条件を使ってデータを抽出したい場合、代表的な書き方として BETWEEN や >= / <=(範囲指定) を利用します。しかし、実務では 時間を含むデータ や 境界値の違い により、意図したデータが取得できないケースが発生しやすいです。 この記... -
SQL
HAVING句 WHERE句 違い|SQLで使い分けるべき場面をわかりやすく解説
SQLで集計処理を行う際に必ず出てくるのが WHERE句 と HAVING句 の違いです。どちらも「条件を絞り込む」ための構文ですが、役割が明確に異なります。この記事では、 HAVING句を使うべきケース と WHEREとの使い分け をわかりやすく解説します。 ■ WHERE句... -
SQL
📝 SQL: LIKE 検索におけるワイルドカード(%と_)の動作と注意点
SQLのLIKE演算子は、特定の文字列パターンに一致するデータを検索する際に使用されます。この検索パターンを指定するために、ワイルドカードと呼ばれる特別な記号が使われます。主なワイルドカードは、%(パーセント)と_(アンダースコア)の2種類です。 ... -
SQL
SQL:副問合せ(サブクエリ)で比較できないケースと対処方法
副問合せ(サブクエリ)をWHERE句やHAVING句で使った際、「比較できません」「単一行サブクエリで複数行が返りました」などのエラーに遭遇することがあります。この記事では、比較できないケースの原因と、正しく比較するための対処方法をわかりやすくまと... -
SQL
SQL:重複データを安全に削除する方法(DELETE+ROW_NUMBER)
データベースを長く運用していると、アプリのバグやテストデータの混入、複数サーバ間複製のトラブルなどが原因で、重複データが発生することがあります。しかし、安易に DELETE を実行すると必要なデータまで消えてしまう危険があります。 そこで本記事で... -
SQL
SQL:中央値(MEDIAN)をSQLで求める方法まとめ
中央値を使う場面 中央値(MEDIAN)は、極端な値(外れ値)の影響を受けにくい指標として、業務システムやデータ分析でよく使われます。例:処理時間の中央値、売上の中央値、レスポンス時間の中央値など。 SQLではDBMSによって書き方が大きく異なるため、... -
SQL
SQL:DELETEが異常に遅い原因と対処法まとめ|大量データで固まる時のチェックポイント
大量データを扱うシステムでは、「DELETE文が異常に遅い」「1000件削除するだけで何分もかかる」という現象は珍しくありません。 実際、筆者の環境でも 1500万件のテーブル DELETE 1件 = 約1.2秒 DELETE 100件 = 約2分 DELETE 1000件 = 約20分 という、明... -
SQL
SQL:半角 全角 変換 SQLだけで行う方法(Oracle / SQL Server / PostgreSQL)
SQLで半角 全角 変換 SQL を実行したい場面は、顧客データの正規化・文字種統一・基幹システム間のデータ連携などで非常に多く発生します。カタカナ・英数字・記号などは半角/全角の表記ゆれが多く、SQLだけで統一できるとバッチ処理やETLの品質が向上し...

