- 開発技術
OracleDatabaseで使える便利なSQL
- OracleDatabase
この記事を書いたチーム:tenko

目次
特定のスキーマのテーブル一覧取得
【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc. 詳細はこちらから>
SQLの例
1 |
SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'スキーマ名'; |
特定のスキーマのテーブルのカラム名一覧取得
SQLの例
1 |
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME ='テーブル名' AND OWNER = 'スキーマ名'; |
テーブルのNOT NULL制約がある、または主キー(PRIMARY KEY)であるカラム名を取得する
SQLの例
補足:カラムにNOT NULL制約がある場合、または列が主キー(PRIMARY KEY)の一部である場合、NULLABLEの値はNとなります
1 |
SELECT *FROM ALL_TAB_COLUMNS WHERE TABLE_NAME ='テーブル名' AND OWNER = 'スキーマ名' AND NULLABLE = 'N'; |
テーブルから取得した内容を登録する方法
SQLの例
1 2 |
INSERT INTO 挿入先テーブル名 (カラム1, カラム2, カラム3) VALUE(SELECT カラム1, カラム2, カラム3 FROM 取得元テーブル名 WHERE カラム名 = ‘条件’); |
テーブルから取得した内容で更新する方法
SQLの例
1 2 3 4 |
UPDATE 更新先テーブル名 SET(カラム1,カラム2,カラム3) = (SELECT カラム1, カラム2, カラム3 FROM 取得元テーブル名 WHERE カラム名 = ‘条件’) WHERE カラム名 = ‘条件’; |
曜日を取得する
SQLの例
1 |
SELECT TO_CHAR(SYSDATE,'Day') FROM DUAL; |
言語を指定して曜日を取得する
SQLの例
1 |
SELECT TO_CHAR(SYSDATE,'Day', 'NLS_DATE_LANGUAGE = ENGLISH') FROM DUAL; |
日付の取得
SQLの例
1 |
SELECT TO_CHAR(SYSDATE,'YYYY"年"MM"月"DD"日"') FROM DUAL; |
業務上でよく使用される日付書式
YYYY | 西暦年(4桁) |
YY | 西暦年(2桁) |
RR | 西暦年(2桁) |
MM | 月(2桁、01から12) |
DD | 日(2桁) |
HH | 時間(12時間表記、01から12) |
HH24 | 時間(24時間表記、00から24) |
MI | 分(2桁、00から59) |
SS | 秒(2桁、00から59) |
D | 曜日(1:日、2:月、3:火、4:水、5:木、6:金、7:土) |
Day | 曜日(日曜日、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日) |
【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>