SQL DMLシ壹ョ繝シ繧ソ蝙

荳隕ァ

繧ソ繧、繝 繝繝シ繧ソ蝙 譛螟ァ 譯∵悴謖螳壽凾 蛯呵
譁蟄怜梛 CHAR 2,000byte 1byte 蝗コ螳夐聞 ‘AAA ‘
VARCHAR2 4,000byte 繧ィ繝ゥ繝シ 蜿ッ螟蛾聞 ‘AAA’
LONG 2G 蜿ッ螟蛾聞 ‘AAA’
CLOB 4G 蜿ッ螟蛾聞 ‘AAA’
謨ー蛟、蝙 NUMBER 38譯 謨エ謨ー38譯 111.11
譌・莉伜梛 DATE 蟷エ譛域律 蜀驛ィ縺ァ譎ょ遘偵r菫晄戟縺励※縺繧 ‘2016-01-01’
TIMESTAMP DATE シ 遘剃サ・荳 DATE シ 遘剃サ・荳(6譯) ‘2016-01-01 10:00:00.333000’
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
繝舌う繝翫Μ蝙 RAW 2,000byte
LONG RAW 2G
BLOB 4G
BFILE 4G
ROWID蝙 ROWID 荳菴阪ョBASE64譁蟄怜 AAASRSAAEAAAASOAAA

蝙九ョ遞ョ鬘

CHAR

譁蟄怜怜梛(蝗コ螳夐聞)
nシ1ス2000
逵∫払蜿ッ縲ら怐逡・縺励◆蝣エ蜷nシ1
謖螳壹@縺滓。∵悴貅縺ョ蛟、繧呈シ邏阪@縺溷エ蜷医∵忰蟆セ縺ォ繧ケ繝壹シ繧ケ縺瑚ェ蜍輔〒蜑イ繧雁ス薙※繧峨l繧九

VARCHAR2

譁蟄怜怜梛(蜿ッ螟蛾聞)
nシ1ス2000
逵∫払荳榊庄
謖螳壹@縺滓。∵悴貅縺ョ蛟、繧呈シ邏阪@縺溷エ蜷医〒繧ゅ√◎縺ョ蛟、縺ァ譬シ邏阪&繧後k縲
譛ォ蟆セ縺ォ繧ケ繝壹シ繧ケ縺ッ蜑イ繧雁ス薙※繧峨l縺ェ縺

LONG/CLOB

Long蝙
譁蟄怜怜梛(蜿ッ螟蛾聞)
譛螟ァ2GB
陦ィ縺ォ縺、縺1蛻励ョ縺ソ菴ソ逕ィ蜿ッ
CLOB蝙九〒莉」逕ィ蜿ッ
Where/OrderBy/GroupBy/繧オ繝悶け繧ィ繝ェ繝シ驕ゥ逕ィ荳榊庄
CLOB蝙
LONG蝙九ョ謾ケ濶ッ蝙具シ壽枚蟄怜怜梛(蜿ッ螟蛾聞)
陦ィ縺ォ縺、縺1蛻励ョ縺ソ菴ソ逕ィ蜿ッ竊貞宛髯千┌縺

NUMBER/NUMERIC
Number(p,s)/Number(p)
謨ー蛟、(蟆乗焚轤ケ繧貞性繧√◆譯∵焚)縲∝ー乗焚轤ケ(譯∵欠螳)
pシ1ス38
sシ-84ス127
Number(3,1)
1234.5竊偵お繝ゥ繝シ
123.45竊134.5
Numeric(p,s)
謨ー蛟、(蟆乗焚轤ケ繧貞性繧√◆譯∵焚)縲∝ー乗焚轤ケ(譯∵欠螳)
999.99
-99.99
譌・莉/譌・譎ょ梛
‘縺ァ蝗イ繧蠢隕√≠繧翫’2014-04-01’
DATE蝙
蜀驛ィ縺ァ譎ょ綾繧呈戟縺」縺ヲ縺繧九′縲√ョ繝輔か繝ォ繝医〒縺ッ陦ィ遉コ縺輔l縺ェ縺縲
繝繝輔か繝ォ繝域嶌蠑擾シ”RR-MM-DD”
TIMESTAMP蝙
蜀驛ィ縺ァ譎ょ綾繧呈戟縺」縺ヲ縺翫j縲√ョ繝輔か繝ォ繝医〒陦ィ遉コ縺輔l繧九
繝繝輔か繝ォ繝域嶌蠑擾シ”RR-MM-DD HH24:MI:SS”
INTERVAL YEAR TO MONTH蝙
蟷エ縺ィ譛医ョ譛滄俣
INTERVAL DAY TO SECOND蝙
譌・縲∵凾縲∝縲∫ァ偵ョ譛滄俣
Date蝙
YYYY-MM-DD
Time蝙
hh:mm:ss[. nnnnnnn]蝙
DateTime蝙
YYYY-MM-DD hh:mm:ss[. nnn]
RR蟷エ譖ク蠑(2000蟷エ蝠城。悟ッセ蠢)
縲2050蟷エス2099蟷エ縲
99/01/01(1999/01/01縺ョ縺、繧ゅj)
select to_date(’99-01-01′,’YY/MM/DD’) from mytable;
竊99-01-01
99/01/01(1999/01/01縺ョ縺、繧ゅj)竊4譯√∈
select to_char(to_date(’99-01-01′,’YY-MM-DD’),’YYYY/MM/DD’) from mytable;
2099/01/01 窶サ荳崎カウ蛻縺ッ繧キ繧ケ繝繝譌・莉(2015/ス/ス)縺ョ隘ソ證ヲ(2000)縺九i陬懊o繧後k
select to_char(to_date(’99-01-01′,’RR-MM-DD’),’YYYY/MM/DD’) from mytable;
1999/01/01 窶サ荳崎カウ蛻縺ッ繧キ繧ケ繝繝譌・莉(2015/ス/ス)縺ョ隘ソ證ヲ-1(1999)縺九i陬懊o繧後k
縲2000蟷エス2049蟷エ縲
00/01/01(2000/01/01縺ョ縺、繧ゅj)
select to_date(’00-01-01′,’YY/MM/DD’) from mytable;
竊00-01-01
00/01/01(2000/01/01縺ョ縺、繧ゅj)竊4譯√∈
select to_char(to_date(’00-01-01′,’YY-MM-DD’),’YYYY/MM/DD’) from mytable;
竊2000/01/01 窶サ荳崎カウ蛻縺ッ繧キ繧ケ繝繝譌・莉(2015/ス/ス)縺ョ隘ソ證ヲ(2000)縺九i陬懊o繧後k
select to_char(to_date(’00-01-01′,’RR-MM-DD’),’YYYY/MM/DD’) from mytable;
竊2000/01/01 窶サ荳崎カウ蛻縺ッ繧キ繧ケ繝繝譌・莉(2015/ス/ス)縺ョ隘ソ證ヲ(2015)縺九i陬懊o繧後k
謖螳壽律縺ィ迴セ蝨ィ縺ョ蟷エ謨ー縺ョ荳倶コ梧。√↓繧医▲縺ヲ荳贋コ梧。√′螟牙喧縺吶k縲
謖螳壹&繧後◆蟷エ縺 0ス49縲∫樟蝨ィ縺 0ス49 竊 迴セ蝨ィ縺ョ蟷エ縺ョ荳贋コ梧。
謖螳壹&繧後◆蟷エ縺50ス99縲∫樟蝨ィ縺 0ス49 竊 迴セ蝨ィ縺ョ蟷エ縺ョ荳贋コ梧。 シ 1 (1900蟷エ莉」)
謖螳壹&繧後◆蟷エ縺 0ス49縲∫樟蝨ィ縺50ス99 竊 迴セ蝨ィ縺ョ蟷エ縺ョ荳贋コ梧。 シ 1 (2100蟷エ莉」)
謖螳壹&繧後◆蟷エ縺50ス99縲∫樟蝨ィ縺50ス99 竊 迴セ蝨ィ縺ョ蟷エ縺ョ荳贋コ梧。
窶サ迴セ蝨ィシ2000蟷エ莉」縺ョ蝣エ蜷
OBJECT蝙
螟ァ螳ケ驥上ョ繧ェ繝悶ず繧ァ繧ッ繝医r譬シ邏阪〒縺阪k繝繝シ繧ソ蝙
陦ィ縺ィ縺ッ蛻・蝣エ謇縺ォ繝繝シ繧ソ繧剃ソ晏ュ倥∬。ィ縺ォ縺ッ繝昴う繝ウ繧ソ諠蝣ア縺ョ縺ソ繧呈シ邏阪☆繧倶コ九b蜿ッ閭ス
1縺、縺ョ陦ィ縺ォ隍謨ー縺ョObject蝙九r螳夂セゥ蜿ッ閭ス
繝サCLOB Char Large Object
譁蟄怜梛繝繝シ繧ソ繧呈シ邏
繝サBLOB Binary Large Object
繝舌う繝翫Μ蝙九ョ繝シ繧ソ繧呈シ邏
繝サBFILE Binary File
OS荳翫ョ繝輔ぃ繧、繝ォ縺ク縺ョ繝昴う繝ウ繧ソ諠蝣ア繧呈シ邏
TYPE繝サROWTYPE蝙
縲慎YPE蝙九
シ晄欠螳夊。ィ謖螳壼励→蜷後§蝙
DECLARE
value1 emp.ename1%TYPE;
emp陦ィename1蛻励→蜷後§蝙九↓螳夂セゥ縺輔l繧
value2 emp.ename2%TYPE;
emp陦ィename2蛻励→蜷後§蝙九↓螳夂セゥ縺輔l繧
BEGIN
SELECT邨先棡繧貞、画焚縺ク譬シ邏
SELECT ename1, ename2INTO value1, value2 FROM emp WHERE ス = 1;
蝙九′蜷後§縺ェ縺ョ縺ァ譬シ邏阪〒縺阪k
value1 := ス
value2 := ス
END;
縲審OWTYPE蝙九
シ晄欠螳夊。ィ蜀縺ョ蛻励→蜷後§蝙(隍謨ー蛻)
シ晄ァ矩菴
DECLARE
tmpTable emp%ROWTYPE;
emp陦ィ蜀縺ョ蛻励→蜷後§蛻励r謖√▽陦ィ繧貞ョ夂セゥ
BEGIN
tmpTable.Col1 := 10;
emp.Col1縺ィ蜷後§蝙
tmpTable.Col2 := ‘XXXXXXX’;
tmpTable.ス := ス;
emp縺梧戟縺、蛻励→蜷後§蛻励r謫堺ス懊〒縺阪k
END;
繝ヲ繝シ繧カ螳夂セゥ蝙
TYPE TESTRECORD IS RECORD (
COL1縲NUMBER,
COL2縲VARCHAR(8)
COL3縲emp.COL3%TYPE
);
TEST TESTRECORD;
TEST.COL1:=1
TEST.COL2:=’XXXXX’
SELECT邨先棡縺ョ譬シ邏
SELECT * INTO TEST FROM (陦ィ蜷) WHERE ス
SELECT邨先棡(隍謨ー蛻)繧偵∪縺ィ繧√※譬シ邏阪〒縺阪k
JSONB蝙
select
col1,
col2,
data->’col3′,
data->’col4′
from
table
;
insert into 陦ィ蜷 valus(1, ‘aaa’, ‘{“col3”:1, “col4″:”aaa”}’);
update 陦ィ蜷 set JSON蝙句怜錐 = ‘{“col3”:1, “col4″:”aaa”}’ where ス;
JSON鬆逶ョ縺ョ蛟句挨update縺ッSQL DMLシ壼渕譛ャ謫堺ス(CRUD) 蛟、繧呈欠螳壹@縺ヲ譖エ譁ー蜿らァ

NULL蛟、

NULLシ壹後←縺薙ョ繝ェ繝繝ゥ繝ォ鬆伜沺繧ょ盾辣ァ縺励※縺縺ェ縺縲阪ョ諢丞袖縲
0縺ァ繧らゥコ譁蟄(”)縺ァ繧ゅ↑縺縲
NULL蛟、縺ョ險育ョ励騾」邨
SQL DMLシ壽シ皮ョ怜ュ縲榊盾辣ァ
WHERE蜿・縺ォ縺翫¢繧起ULL蛟、縺ョ謚ス蜃コ譁ケ豕
SELECT ス FROM ス WHERE 蛻怜錐 IS NULL
SELECT ス FROM ス WHERE 蛻怜錐 IS NOT NULL
SELECT ス FROM ス WHERE 蛻怜錐 = NULL 縺ッテ
SELECT ス FROM ス WHERE 蛻怜錐 <> NULL 縺ッテ
NULL縺ョ陦ィ遉コ鬆縺ォ縺、縺縺ヲ縺ッ縲SQL DMLシ壼渕譛ャ謫堺ス(CRUD)縲榊盾辣ァ
NULL縺ョ髮險医↓縺、縺縺ヲ縺ッ縲SQL 繧ー繝ォ繝シ繝鈴未謨ー/NULL縺ョ髮險縲榊盾辣ァ
NULL蛟、縺ョ蛻、螳壹サ螟画鋤縺ォ縺、縺縺ヲ縺ッ縲SQL 螟画鋤髢「謨ー/NULL蛟、縺ョ蛻、螳壹サ螟画鋤縲榊盾辣ァ

蝗コ螳夐聞縺ィ蜿ッ螟蛾聞縺ョ驕輔>

蝗コ螳夐聞
Char(8)シ’a_______’
蜿ッ螟蛾聞
Varhar2(8)シ’a’

SQL縺ォ縺翫¢繧区枚蟄苓。ィ迴セ

譌・莉伜梛縲∵枚蟄励∵枚蟄怜怜梛縺ッ’縺ァ蝗イ繧
’01-JAN-15’縲’AAA’
譁蟄励→縺励※縺ョ’繧定。ィ迴セ縺吶k蝣エ蜷医ッ”縺ィ邯壹¢繧九
‘A繧貞性繧譁蟄怜励r謖√▽繝ャ繧ウ繝シ繝峨r驕ク謚槭☆繧句エ蜷
WHERE 蛻怜錐 LIKE ‘%”A%’
莉」逕ィ蠑慕畑隨ヲ
莉」逕ィ蠑慕畑隨ヲ縺ァ蝗イ縺セ繧後◆譁蟄怜励ッ”繧ゅせ繝壹シ繧ケ繧ゅ◎縺ョ縺セ縺セ譁蟄怜励→縺励※隗」驥医&繧後k縲
莉」逕ィ蠑慕畑隨ヲ縺ォ菴ソ逕ィ縺吶k譁蟄怜励ッ菴輔〒繧り憶縺
Q’譁蟄譁蟄
q’譁蟄 ス 譁蟄’
Q’AB’B”B”’A’
竊達’B”B”’
Q'(” ”)’
竊” ”
Q’Aa’
竊偵お繝ゥ繝シ
譁蟄鈴」邨
SQL DMLシ壽シ皮ョ怜ュ縲榊盾辣ァ

WHERE蜿・縺ォ縺翫¢繧区枚蟄玲欠螳

莉サ諢上ョ譁蟄怜

SELECT ス FROM ス
莉サ諢上ョ譁蟄怜(遨コ譁蟄”蜷ォ繧)
WHERE ス LIKE ‘讀懃エ「譁蟄%’
竍呈、懃エ「譁蟄輸AA縲∵、懃エ「譁蟄輸A縲∵、懃エ「譁蟄輸縲∵、懃エ「譁蟄
WHERE ス LIKE ‘%讀懃エ「譁蟄
竍但AA讀懃エ「譁蟄励、A讀懃エ「譁蟄励、讀懃エ「譁蟄励∵、懃エ「譁蟄
WHERE ス LIKE ‘%讀懃エ「譁蟄%’
竍但AA讀懃エ「譁蟄励、A讀懃エ「譁蟄励、讀懃エ「譁蟄励∵、懃エ「譁蟄励∵、懃エ「譁蟄輸縲∵、懃エ「譁蟄輸A縲∵、懃エ「譁蟄輸AA

莉サ諢上ョ荳譁蟄

莉サ諢上ョ荳譁蟄(遨コ譁蟄”蜷ォ縺セ縺ェ縺)
WHERE ス LIKE ‘讀懃エ「譁蟄_’
竍呈、懃エ「譁蟄輸
WHERE ス LIKE ‘_讀懃エ「譁蟄
竍但讀懃エ「譁蟄
WHERE ス LIKE ‘_讀懃エ「譁蟄_’
竍但讀懃エ「譁蟄輸

迚ケ谿頑枚蟄励ョ繧ィ繧ケ繧ア繝シ繝

迚ケ谿頑枚蟄励r蜷ォ繧譁蟄怜励r謖螳壹☆繧句エ蜷医↓蛻ゥ逕ィ
萓 ‘_A’ 縺ィ縺縺譁蟄怜励r蜷ォ繧繝繝シ繧ソ繧帝∈謚槭☆繧句エ蜷
(縺薙ョ蝣エ蜷医ョ’_’縺ッ莉サ諢上ョ荳譁蟄励〒縺ッ縺ェ縺上∵枚蟄励→縺励※縺ョ’_’)
WHERE ス LIKE ‘%\_A%’ ESCAPE\
竍但AA_A縲、A_A縲、A_A縲\A縲\AA縲\AAA縲\AAAA
窶サ\縺ョ蠕後ョ譁蟄励ッ迚ケ谿頑枚蟄(繝ッ繧、繝ォ繝峨き繝シ繝)縺ァ縺ッ辟。縺上∵枚蟄励〒縺ゅk縺ィ縺縺螳」險
窶サESCAPE 縺ォ邯壹¥荳譁蟄励ッ菴輔〒繧り憶縺( _縲% 莉・螟)
‘100%_’
縺ァ蟋九∪繧区枚蟄怜励r讀懃エ「縺吶k蝣エ蜷
WHERE 蛻 LIKE ‘100\%\_%’ ESCAPE ‘\’;
\%\_%
||
\%縲\_縲%
||
%(譁蟄)縲_(譁蟄)縲%(繝ッ繧、繝ォ繝峨き繝シ繝)

證鈴サ吶ョ蝙句、画鋤

蛻(蝙具シ壽焚蛟、)竊’謨ー蛟、’シ唹K
窶サ謨ー蛟、縺ォ螟画鋤縺輔l繧
蛻(蝙具シ壽枚蟄怜怜梛)竊先焚蛟、シ唹K
窶サ譁蟄怜励↓螟画鋤縺輔l繧

Follow me!