これは元のテーブルPostgreSQLはちょうど月のみ表示することを拒否し、年間
"facultyid","courseid","datequalified"
2143,"ISM 3112","9/1988"
2143,"ISM 3113","9/1988"
3467,"ISM 4212","9/1995"
3467,"ISM 4930","9/1996"
4756,"ISM 3112","9/1991"
4756,"ISM 3113","9/1991"
CREATE TABLE qualified (
facultyid integer NOT NULL,
courseid character varying(16) NOT NULL,
datequalified character varying(16),
dq2 date
);
ALTER TABLE qualified OWNER TO postgres;
--
-- TOC entry 2136 (class 0 OID 16441)
-- Dependencies: 190
-- Data for Name: qualified; Type: TABLE DATA; Schema: class_scheduling_01; Owner: postgres
--
INSERT INTO qualified (facultyid, courseid, datequalified, dq2) VALUES (3467, 'ISM 4212', '9/1995', '1995-09-01');
INSERT INTO qualified (facultyid, courseid, datequalified, dq2) VALUES (4756, 'ISM 3112', '9/1991', '1991-09-01');
INSERT INTO qualified (facultyid, courseid, datequalified, dq2) VALUES (2143, 'ISM 3113', '9/1988', '1988-09-01');
INSERT INTO qualified (facultyid, courseid, datequalified, dq2) VALUES (4756, 'ISM 3113', '9/1991', '1991-09-01');
INSERT INTO qualified (facultyid, courseid, datequalified, dq2) VALUES (2143, 'ISM 3112', '9/1988', '1988-09-01');
INSERT INTO qualified (facultyid, courseid, datequalified, dq2) VALUES (3467, 'ISM 4930', '9/1996', '1996-09-01');
である私は、月と年で、値を格納する方法を知りませんでしたので、私はvarchar型のタイプを使用することにしました。そこから、私は日付クエリーコマンドを実行するかどうか決めました。それを日付から文字列に変換する必要がありました。 1つの質問は、どの教員IDが1991年以降の日付に関連付けられているかを調べることです。
次のto_date関数を使用して、文字列を日付に変換しました: UPDATE修飾SET dq2 = to_date(datequalified、 'MM \ YYYY ')
DQ2列には、次のように出力をした:
dq2
1995-09-01
1991-09-01
1988-09-01
1991-09-01
1988-09-01
1996-09-01
それだけで年と月としてDQ2出力を取得し、まだ、日付関連のクエリを許可することは可能ですか?
日付の一部のみを保持している何のデータ型はありません。唯一の方法は、検索と処理時に文字列またはフィルタに変換することです。 – FDavidov