テーブル情報取得
PostgreSQL
select
A.table_catalog,
A.table_schema,
A.table_name,
A.ordinal_position,
A.column_name,
A.data_type,
case A.data_type
when 'numeric' then coalesce(A.numeric_precision, -1)
when 'character varying' then A.character_maximum_length
when 'character' then A.character_maximum_length
end AS data_length,
B.constraint_type
from information_schema.columns A
left outer join
( select
ccu.table_catalog,
ccu.table_schema,
ccu.table_name,
ccu.column_name,
case tc.constraint_type when 'PRIMARY KEY' then 'P' when 'UNIQUE' then 'U' else '' end as constraint_type
from
information_schema.table_constraints tc
,information_schema.constraint_column_usage ccu
where
tc.constraint_type IN ('PRIMARY KEY', 'UNIQUE')
and tc.table_catalog=ccu.table_catalog
and tc.table_schema=ccu.table_schema
and tc.table_name=ccu.table_name
and tc.constraint_name=ccu.constraint_name
) B
on A.table_catalog = B.table_catalog
and A.table_schema = B.table_schema
and A.table_name = B.table_name
and A.column_name = B.column_name
where A.table_schema = 'public'
order by A.table_name, A.ordinal_position;
Oracle
SELECT
A.OWNER,
A.TABLE_NAME,
A.COLUMN_ID,
A.COLUMN_NAME,
A.DATA_TYPE,
A.DATA_LENGTH,
A.DATA_PRECISION,
A.DATA_SCALE,
B.CONSTRAINT_TYPE
FROM ALL_TAB_COLUMNS A
LEFT JOIN
(SELECT CONS.OWNER, CONS.TABLE_NAME, COLS.COLUMN_NAME, CONS.CONSTRAINT_TYPE
FROM ALL_CONSTRAINTS CONS,
ALL_CONS_COLUMNS COLS
WHERE CONS.CONSTRAINT_NAME = COLS.CONSTRAINT_NAME
AND CONS.OWNER = COLS.OWNER
AND CONS.CONSTRAINT_TYPE IN ('P','U')
) B
ON A.OWNER = B.OWNER
AND A.TABLE_NAME = B.TABLE_NAME
AND A.COLUMN_NAME = B.COLUMN_NAME
WHERE 1=1
ORDER BY A.TABLE_NAME, A.COLUMN_ID
日付
PostgreSQL
select to_timestamp(to_char(current_timestamp + '-2 years -1 days','yyyy/mm/dd 23:59:59'),'yyyy/mm/dd HH24:MI:SS');
select to_timestamp(to_char(current_timestamp + '-2 years','yyyy/mm/dd 00:00:00'),'yyyy/mm/dd HH24:MI:SS');
select to_timestamp(to_char(current_timestamp + '-2 years','yyyy/mm/dd 00:00:01'),'yyyy/mm/dd HH24:MI:SS');
最終更新:2015年10月30日 23:26