Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
5e78f932
Unverified
提交
5e78f932
authored
7 年前
作者:
Noel Grandin
提交者:
GitHub
7 年前
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #939 from katzyn/tests
Short syntax for SQL tests
上级
d604dce4
1b17b3d6
显示空白字符变更
内嵌
并排
正在显示
51 个修改的文件
包含
395 行增加
和
696 行删除
+395
-696
TestScript.java
h2/src/test/org/h2/test/scripts/TestScript.java
+26
-3
time.sql
h2/src/test/org/h2/test/scripts/datatypes/time.sql
+1
-3
timestamp-with-timezone.sql
...org/h2/test/scripts/datatypes/timestamp-with-timezone.sql
+1
-3
timestamp.sql
h2/src/test/org/h2/test/scripts/datatypes/timestamp.sql
+2
-7
abs.sql
h2/src/test/org/h2/test/scripts/functions/numeric/abs.sql
+2
-5
decrypt.sql
...rc/test/org/h2/test/scripts/functions/numeric/decrypt.sql
+2
-9
encrypt.sql
...rc/test/org/h2/test/scripts/functions/numeric/encrypt.sql
+3
-13
hash.sql
h2/src/test/org/h2/test/scripts/functions/numeric/hash.sql
+2
-8
pi.sql
h2/src/test/org/h2/test/scripts/functions/numeric/pi.sql
+2
-8
rand.sql
h2/src/test/org/h2/test/scripts/functions/numeric/rand.sql
+2
-9
truncate.sql
...c/test/org/h2/test/scripts/functions/numeric/truncate.sql
+2
-5
concat.sql
h2/src/test/org/h2/test/scripts/functions/string/concat.sql
+2
-7
lpad.sql
h2/src/test/org/h2/test/scripts/functions/string/lpad.sql
+3
-0
regex-replace.sql
...st/org/h2/test/scripts/functions/string/regex-replace.sql
+19
-43
regexp-like.sql
...test/org/h2/test/scripts/functions/string/regexp-like.sql
+1
-4
rpad.sql
h2/src/test/org/h2/test/scripts/functions/string/rpad.sql
+3
-0
stringencode.sql
...est/org/h2/test/scripts/functions/string/stringencode.sql
+2
-10
substring.sql
...c/test/org/h2/test/scripts/functions/string/substring.sql
+6
-0
utf8tostring.sql
...est/org/h2/test/scripts/functions/string/utf8tostring.sql
+1
-5
xmlcdata.sql
...rc/test/org/h2/test/scripts/functions/string/xmlcdata.sql
+2
-9
xmlcomment.sql
.../test/org/h2/test/scripts/functions/string/xmlcomment.sql
+2
-9
xmlnode.sql
h2/src/test/org/h2/test/scripts/functions/string/xmlnode.sql
+7
-23
xmlstartdoc.sql
...test/org/h2/test/scripts/functions/string/xmlstartdoc.sql
+1
-5
xmltext.sql
h2/src/test/org/h2/test/scripts/functions/string/xmltext.sql
+5
-18
array-contains.sql
...t/org/h2/test/scripts/functions/system/array-contains.sql
+27
-0
autocommit.sql
.../test/org/h2/test/scripts/functions/system/autocommit.sql
+2
-5
cast.sql
h2/src/test/org/h2/test/scripts/functions/system/cast.sql
+72
-0
database.sql
...rc/test/org/h2/test/scripts/functions/system/database.sql
+2
-5
decode.sql
h2/src/test/org/h2/test/scripts/functions/system/decode.sql
+24
-0
readonly.sql
...rc/test/org/h2/test/scripts/functions/system/readonly.sql
+2
-5
user.sql
h2/src/test/org/h2/test/scripts/functions/system/user.sql
+2
-5
add_months.sql
.../org/h2/test/scripts/functions/timeanddate/add_months.sql
+8
-20
dateadd.sql
...est/org/h2/test/scripts/functions/timeanddate/dateadd.sql
+26
-85
datediff.sql
...st/org/h2/test/scripts/functions/timeanddate/datediff.sql
+60
-103
day-of-month.sql
...rg/h2/test/scripts/functions/timeanddate/day-of-month.sql
+2
-5
day-of-week.sql
...org/h2/test/scripts/functions/timeanddate/day-of-week.sql
+2
-5
day-of-year.sql
...org/h2/test/scripts/functions/timeanddate/day-of-year.sql
+1
-4
dayname.sql
...est/org/h2/test/scripts/functions/timeanddate/dayname.sql
+2
-5
extract.sql
...est/org/h2/test/scripts/functions/timeanddate/extract.sql
+26
-29
formatdatetime.sql
.../h2/test/scripts/functions/timeanddate/formatdatetime.sql
+9
-30
hour.sql
...c/test/org/h2/test/scripts/functions/timeanddate/hour.sql
+5
-5
minute.sql
...test/org/h2/test/scripts/functions/timeanddate/minute.sql
+2
-5
month.sql
.../test/org/h2/test/scripts/functions/timeanddate/month.sql
+2
-5
monthname.sql
...t/org/h2/test/scripts/functions/timeanddate/monthname.sql
+2
-5
parsedatetime.sql
...g/h2/test/scripts/functions/timeanddate/parsedatetime.sql
+2
-9
quarter.sql
...est/org/h2/test/scripts/functions/timeanddate/quarter.sql
+2
-5
second.sql
...test/org/h2/test/scripts/functions/timeanddate/second.sql
+2
-5
truncate.sql
...st/org/h2/test/scripts/functions/timeanddate/truncate.sql
+8
-20
week.sql
...c/test/org/h2/test/scripts/functions/timeanddate/week.sql
+2
-5
year.sql
...c/test/org/h2/test/scripts/functions/timeanddate/year.sql
+2
-5
testSimple.in.txt
h2/src/test/org/h2/test/scripts/testSimple.in.txt
+0
-115
没有找到文件。
h2/src/test/org/h2/test/scripts/TestScript.java
浏览文件 @
5e78f932
...
...
@@ -389,6 +389,26 @@ public class TestScript extends TestBase {
head
[
i
]
=
label
;
}
rs
.
close
();
String
line
=
readLine
();
putBack
=
line
;
if
(
line
!=
null
&&
line
.
startsWith
(
">> "
))
{
switch
(
result
.
size
())
{
case
0
:
writeResult
(
sql
,
"<no result>"
,
null
,
">> "
);
return
;
case
1
:
String
[]
row
=
result
.
get
(
0
);
if
(
row
.
length
==
1
)
{
writeResult
(
sql
,
row
[
0
],
null
,
">> "
);
}
else
{
writeResult
(
sql
,
"<row with "
+
row
.
length
+
" values>"
,
null
,
">> "
);
}
return
;
default
:
writeResult
(
sql
,
"<"
+
result
.
size
()
+
" rows>"
,
null
,
">> "
);
return
;
}
}
writeResult
(
sql
,
format
(
head
,
max
),
null
);
writeResult
(
sql
,
format
(
null
,
max
),
null
);
String
[]
array
=
new
String
[
result
.
size
()];
...
...
@@ -433,10 +453,13 @@ public class TestScript extends TestBase {
writeResult
(
sql
,
"exception"
,
e
);
}
private
void
writeResult
(
String
sql
,
String
s
,
SQLException
e
)
throws
Exception
{
private
void
writeResult
(
String
sql
,
String
s
,
SQLException
e
)
throws
Exception
{
writeResult
(
sql
,
s
,
e
,
"> "
);
}
private
void
writeResult
(
String
sql
,
String
s
,
SQLException
e
,
String
prefix
)
throws
Exception
{
assertKnownException
(
sql
,
e
);
s
=
(
"> "
+
s
).
trim
();
s
=
(
prefix
+
s
).
trim
();
String
compare
=
readLine
();
if
(
compare
!=
null
&&
compare
.
startsWith
(
">"
))
{
if
(!
compare
.
equals
(
s
))
{
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/datatypes/time.sql
浏览文件 @
5e78f932
...
...
@@ -80,9 +80,7 @@ INSERT INTO TEST(T0) VALUES ('23:59:59.999999999');
>
update
count
:
1
SELECT
T0
FROM
TEST
;
>
T0
>
------------------
>
23
:
59
:
59
.
999999999
>>
23
:
59
:
59
.
999999999
DROP
TABLE
TEST
;
>
ok
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/datatypes/timestamp-with-timezone.sql
浏览文件 @
5e78f932
...
...
@@ -91,9 +91,7 @@ INSERT INTO TEST(T0) VALUES ('2000-01-01 23:59:59.999999999Z');
>
update
count
:
1
SELECT
T0
FROM
TEST
;
>
T0
>
----------------------
>
2000
-
01
-
02
00
:
00
:
00
+
00
>>
2000
-
01
-
02
00
:
00
:
00
+
00
DROP
TABLE
TEST
;
>
ok
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/datatypes/timestamp.sql
浏览文件 @
5e78f932
...
...
@@ -41,10 +41,7 @@ INSERT INTO TEST VALUES (TIMESTAMP '1999-12-31 08:00:00');
>
update
count
:
1
SELECT
TIMESTAMP
FROM
TEST
;
>
TIMESTAMP
>
-------------------
>
1999
-
12
-
31
08
:
00
:
00
>
rows
:
1
>>
1999
-
12
-
31
08
:
00
:
00
DROP
TABLE
TEST
;
>
ok
...
...
@@ -84,9 +81,7 @@ INSERT INTO TEST(T0) VALUES ('2000-01-01 23:59:59.999999999');
>
update
count
:
1
SELECT
T0
FROM
TEST
;
>
T0
>
-------------------
>
2000
-
01
-
02
00
:
00
:
00
>>
2000
-
01
-
02
00
:
00
:
00
DROP
TABLE
TEST
;
>
ok
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/numeric/abs.sql
浏览文件 @
5e78f932
...
...
@@ -15,11 +15,8 @@ select abs(-1) r1, abs(id) r1b from test;
>
1
1
>
rows
:
1
select
abs
(
sum
(
id
))
r1
from
test
;
>
R1
>
--
>
1
>
rows
:
1
select
abs
(
sum
(
id
))
from
test
;
>>
1
select
abs
(
null
)
vn
,
abs
(
-
1
)
r1
,
abs
(
1
)
r2
,
abs
(
0
)
r3
,
abs
(
-
0
.
1
)
r4
,
abs
(
0
.
1
)
r5
from
test
;
>
VN
R1
R2
R3
R4
R5
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/numeric/decrypt.sql
浏览文件 @
5e78f932
...
...
@@ -4,14 +4,7 @@
--
call
utf8tostring
(
decrypt
(
'AES'
,
'00000000000000000000000000000000'
,
'dbd42d55d4b923c4b03eba0396fac98e'
));
>
'Hello World Test'
>
------------------
>
Hello
World
Test
>
rows
:
1
>>
Hello
World
Test
call
utf8tostring
(
decrypt
(
'AES'
,
hash
(
'sha256'
,
stringtoutf8
(
'Hello'
),
1000
),
encrypt
(
'AES'
,
hash
(
'sha256'
,
stringtoutf8
(
'Hello'
),
1000
),
stringtoutf8
(
'Hello World Test'
))));
>
'Hello World Test'
>
------------------
>
Hello
World
Test
>
rows
:
1
>>
Hello
World
Test
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/numeric/encrypt.sql
浏览文件 @
5e78f932
...
...
@@ -4,20 +4,10 @@
--
call
encrypt
(
'AES'
,
'00000000000000000000000000000000'
,
stringtoutf8
(
'Hello World Test'
));
>
X
'dbd42d55d4b923c4b03eba0396fac98e'
>
-----------------------------------
>
dbd42d55d4b923c4b03eba0396fac98e
>
rows
:
1
>>
dbd42d55d4b923c4b03eba0396fac98e
CALL
ENCRYPT
(
'XTEA'
,
'00'
,
STRINGTOUTF8
(
'Test'
));
>
X
'8bc9a4601b3062692a72a5941072425f'
>
-----------------------------------
>
8
bc9a4601b3062692a72a5941072425f
>
rows
:
1
>>
8
bc9a4601b3062692a72a5941072425f
call
encrypt
(
'XTEA'
,
'000102030405060708090a0b0c0d0e0f'
,
'4142434445464748'
);
>
X
'dea0b0b40966b0669fbae58ab503765f'
>
-----------------------------------
>
dea0b0b40966b0669fbae58ab503765f
>
rows
:
1
>>
dea0b0b40966b0669fbae58ab503765f
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/numeric/hash.sql
浏览文件 @
5e78f932
...
...
@@ -4,13 +4,7 @@
--
call
hash
(
'SHA256'
,
stringtoutf8
(
'Hello'
),
1
);
>
X
'185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969'
>
-------------------------------------------------------------------
>
185
f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
>
rows
:
1
>>
185
f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
CALL
HASH
(
'SHA256'
,
STRINGTOUTF8
(
'Password'
),
1000
);
>
X
'c644a176ce920bde361ac336089b06cc2f1514dfa95ba5aabfe33f9a22d577f0'
>
-------------------------------------------------------------------
>
c644a176ce920bde361ac336089b06cc2f1514dfa95ba5aabfe33f9a22d577f0
>
rows
:
1
>>
c644a176ce920bde361ac336089b06cc2f1514dfa95ba5aabfe33f9a22d577f0
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/numeric/pi.sql
浏览文件 @
5e78f932
...
...
@@ -9,11 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
pi
()
pi
from
test
;
>
PI
>
-----------------
>
3
.
141592653589793
>
rows
:
1
select
pi
()
from
test
;
>>
3
.
141592653589793
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/numeric/rand.sql
浏览文件 @
5e78f932
...
...
@@ -15,12 +15,5 @@ select rand(1) e, random() f from test;
>
0
.
7308781907032909
0
.
41008081149220166
>
rows
:
1
select
rand
()
e
from
test
;
>
E
>
-------------------
>
0
.
20771484130971707
>
rows
:
1
select
rand
()
from
test
;
>>
0
.
20771484130971707
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/numeric/truncate.sql
浏览文件 @
5e78f932
...
...
@@ -21,8 +21,5 @@ select trunc(null, null) en, trunc(1.99, 0) e1, trunc(-10.9, 0) em10 from test;
>
null
1
.
0
-
10
.
0
>
rows
:
1
select
trunc
(
1
.
3
)
R
;
>
R
>
---
>
1
.
0
>
rows
:
1
select
trunc
(
1
.
3
);
>>
1
.
0
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/concat.sql
浏览文件 @
5e78f932
...
...
@@ -13,10 +13,5 @@ select concat(null, null) en, concat(null, 'a') ea, concat('b', null) eb, concat
>
null
a
b
abc
>
rows
:
1
SELECT
CONCAT
(
'a'
,
'b'
,
'c'
,
'd'
)
AS
test
;
>
TEST
>
----
>
abcd
>
rows
:
1
SELECT
CONCAT
(
'a'
,
'b'
,
'c'
,
'd'
);
>>
abcd
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/lpad.sql
浏览文件 @
5e78f932
...
...
@@ -2,3 +2,6 @@
-- and the EPL 1.0 (http://h2database.com/html/license.html).
-- Initial Developer: H2 Group
--
select
lpad
(
'string'
,
10
,
'+'
);
>>
++++
string
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/regex-replace.sql
浏览文件 @
5e78f932
...
...
@@ -7,53 +7,29 @@ call regexp_replace('x', 'x', '\');
> exception
CALL REGEXP_REPLACE('
abckaboooom
', '
o
+
', '
o
');
> '
abckabom
'
> ----------
> abckabom
> rows: 1
>> abckabom
select regexp_replace('
Sylvain
', '
S
..
', '
TOTO
', '
mni
') as X;
> X
> --------
> TOTOvain
> rows: 1
select regexp_replace('
Sylvain
', '
S
..
', '
TOTO
', '
mni
');
>> TOTOvain
set mode oracle;
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
\
2
\
1
') as X from dual;
> X
> ----------
> last first
> rows: 1
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
\\
2
\
1
') as X from dual;
> X
> --------
>
\2
first
> rows: 1
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
\$
2
\
1
') as X from dual;
> X
> --------
> $2 first
> rows: 1
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
$
2
$
1
') as X from dual;
> X
> -----
> $2 $1
> rows: 1
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
\
2
\
1
');
>> last first
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
\\
2
\
1
');
>>
\2
first
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
\$
2
\
1
');
>> $2 first
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
$
2
$
1
');
>> $2 $1
set mode regular;
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
\
2
\
1
') as X from dual;
> X
> ---
> 2 1
> rows: 1
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
$
2
$
1
') as X from dual;
> X
> ----------
> last first
> rows: 1
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
\
2
\
1
');
>> 2 1
select regexp_replace('
first
last
', '
(
\
w
+
)
(
\
w
+
)
', '
$
2
$
1
');
>> last first
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/regexp-like.sql
浏览文件 @
5e78f932
...
...
@@ -7,10 +7,7 @@ call select 1 from dual where regexp_like('x', 'x', '\');
> exception
select x from dual where REGEXP_LIKE('
A
', '
[
a
-
z
]
', '
i
');
> X
> -
> 1
> rows: 1
>> 1
select x from dual where REGEXP_LIKE('
A
', '
[
a
-
z
]
', '
c
');
> X
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/rpad.sql
浏览文件 @
5e78f932
...
...
@@ -2,3 +2,6 @@
-- and the EPL 1.0 (http://h2database.com/html/license.html).
-- Initial Developer: H2 Group
--
select
rpad
(
'string'
,
10
,
'+'
);
>>
string
++++
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/stringencode.sql
浏览文件 @
5e78f932
...
...
@@ -10,15 +10,7 @@ INSERT INTO TEST VALUES(2, STRINGDECODE('abcsond\344rzeich\344 ') || char(22222)
>
update
count
:
1
call
STRINGENCODE
(
STRINGDECODE
(
'abcsond
\3
44rzeich
\3
44
\u
56ce
\3
66
\3
44
\3
74
\3
26
\3
04
\3
34
\3
51
\3
50
\3
40
\3
61!'
));
>
'abcsond
\u
00e4rzeich
\u
00e4
\u
56ce
\u
00f6
\u
00e4
\u
00fc
\u
00d6
\u
00c4
\u
00dc
\u
00e9
\u
00e8
\u
00e0
\u
00f1!'
>
------------------------------------------------------------------------------------------------
>
abcsond
\
u00e4rzeich
\
u00e4
\
u56ce
\
u00f6
\
u00e4
\
u00fc
\
u00d6
\
u00c4
\
u00dc
\
u00e9
\
u00e8
\
u00e0
\
u00f1
!
>
rows
:
1
>>
abcsond
\
u00e4rzeich
\
u00e4
\
u56ce
\
u00f6
\
u00e4
\
u00fc
\
u00d6
\
u00c4
\
u00dc
\
u00e9
\
u00e8
\
u00e0
\
u00f1
!
CALL
STRINGENCODE
(
STRINGDECODE
(
'Lines 1
\n
Line 2'
));
>
'Lines 1
\n
Line 2'
>
-----------------
>
Lines
1
\
nLine
2
>
rows
:
1
>>
Lines
1
\
nLine
2
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/substring.sql
浏览文件 @
5e78f932
...
...
@@ -26,3 +26,9 @@ select substring(null from null) en, substring(null from null for null) e1, subs
>
---- ---- ---- --
>
null
null
ob
o
>
rows
:
1
select
substr
(
'[Hello]'
,
2
,
5
);
>>
Hello
select
substr
(
'Hello World'
,
-
5
);
>>
World
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/utf8tostring.sql
浏览文件 @
5e78f932
...
...
@@ -4,8 +4,4 @@
--
CALL
UTF8TOSTRING
(
STRINGTOUTF8
(
'This is a test'
));
>
'This is a test'
>
----------------
>
This
is
a
test
>
rows
:
1
>>
This
is
a
test
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/xmlcdata.sql
浏览文件 @
5e78f932
...
...
@@ -4,14 +4,7 @@
--
CALL
XMLCDATA
(
'<characters>'
);
>
'<![CDATA[<characters>]]>'
>
--------------------------
>
<!
[
CDATA
[
<
characters
>
]]
>
>
rows
:
1
>>
<!
[
CDATA
[
<
characters
>
]]
>
CALL
XMLCDATA
(
'special text ]]>'
);
>
'special text ]]>'
>
---------------------
>
special
text
]]
&
gt
;
>
rows
:
1
>>
special
text
]]
&
gt
;
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/xmlcomment.sql
浏览文件 @
5e78f932
...
...
@@ -4,14 +4,7 @@
--
CALL
XMLCOMMENT
(
'Test'
);
>
STRINGDECODE
(
'<!-- Test -->
\n
'
)
>
-------------------------------
>
<!
-- Test -->
>
rows
:
1
>>
<!
-- Test -->
CALL
XMLCOMMENT
(
'--- test ---'
);
>
STRINGDECODE
(
'<!-- - - - test - - - -->
\n
'
)
>
-------------------------------------------
>
<!
-- - - - test - - - -->
>
rows
:
1
>>
<!
-- - - - test - - - -->
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/xmlnode.sql
浏览文件 @
5e78f932
...
...
@@ -4,32 +4,16 @@
--
CALL
XMLNODE
(
'a'
,
XMLATTR
(
'href'
,
'http://h2database.com'
));
>
STRINGDECODE
(
'<a href=
\"
http://h2database.com
\"
/>
\n
'
)
>
-----------------------------------------------------
>
<
a
href
=
"http://h2database.com"
/>
>
rows
:
1
>>
<
a
href
=
"http://h2database.com"
/>
CALL
XMLNODE
(
'br'
);
>
STRINGDECODE
(
'<br/>
\n
'
)
>
-----------------------
>
<
br
/>
>
rows
:
1
>>
<
br
/>
CALL
XMLNODE
(
'p'
,
null
,
'Hello World'
);
>
STRINGDECODE
(
'<p>Hello World</p>
\n
'
)
>
------------------------------------
>
<
p
>
Hello
World
</
p
>
>
rows
:
1
>>
<
p
>
Hello
World
</
p
>
SELECT
XMLNODE
(
'p'
,
null
,
'Hello'
||
chr
(
10
)
||
'World'
)
X
;
>
X
>
---------------------
>
<
p
>
Hello
World
</
p
>
>
rows
:
1
SELECT
XMLNODE
(
'p'
,
null
,
'Hello'
||
chr
(
10
)
||
'World'
,
false
)
X
;
>
X
>
-------------------
>
<
p
>
Hello
World
</
p
>
>
rows
:
1
SELECT
XMLNODE
(
'p'
,
null
,
'Hello'
||
chr
(
10
)
||
'World'
);
>>
<
p
>
Hello
World
</
p
>
SELECT
XMLNODE
(
'p'
,
null
,
'Hello'
||
chr
(
10
)
||
'World'
,
false
);
>>
<
p
>
Hello
World
</
p
>
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/xmlstartdoc.sql
浏览文件 @
5e78f932
...
...
@@ -4,8 +4,4 @@
--
CALL
XMLSTARTDOC
();
>
STRINGDECODE
(
'<?xml version=
\"
1.0
\"
?>
\n
'
)
>
-----------------------------------------
>
<?
xml
version
=
"1.0"
?>
>
rows
:
1
>>
<?
xml
version
=
"1.0"
?>
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/string/xmltext.sql
浏览文件 @
5e78f932
...
...
@@ -4,26 +4,13 @@
--
CALL
XMLTEXT
(
'test'
);
>
'test'
>
------
>
test
>
rows
:
1
>>
test
CALL
XMLTEXT
(
'<test>'
);
>
'<test>'
>
--------------
>
&
lt
;
test
&
gt
;
>
rows
:
1
>>
&
lt
;
test
&
gt
;
SELECT
XMLTEXT
(
'hello'
||
chr
(
10
)
||
'world'
)
X
;
>
X
>
-----------
>
hello
world
>
rows
:
1
SELECT
XMLTEXT
(
'hello'
||
chr
(
10
)
||
'world'
);
>>
hello
world
CALL
XMLTEXT
(
'hello'
||
chr
(
10
)
||
'world'
,
true
);
>
'hello
world'
>
-----------------
>
hello
&#
xa
;
world
>
rows
:
1
>>
hello
&#
xa
;
world
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/system/array-contains.sql
浏览文件 @
5e78f932
...
...
@@ -2,3 +2,30 @@
-- and the EPL 1.0 (http://h2database.com/html/license.html).
-- Initial Developer: H2 Group
--
select
array_contains
((
4
.
0
,
2
.
0
,
2
.
0
),
2
.
0
);
>>
TRUE
select
array_contains
((
4
.
0
,
2
.
0
,
2
.
0
),
5
.
0
);
>>
FALSE
select
array_contains
((
'one'
,
'two'
),
'one'
);
>>
TRUE
select
array_contains
((
'one'
,
'two'
),
'xxx'
);
>>
FALSE
select
array_contains
((
'one'
,
'two'
),
null
);
>>
FALSE
select
array_contains
((
null
,
'two'
),
null
);
>>
TRUE
select
array_contains
(
null
,
'one'
);
>>
FALSE
select
array_contains
(((
1
,
2
),
(
3
,
4
)),
(
1
,
2
));
>>
TRUE
select
array_contains
(((
1
,
2
),
(
3
,
4
)),
(
5
,
6
));
>>
FALSE
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/system/autocommit.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
autocommit
()
x_true
from
test
;
>
X_TRUE
>
------
>
TRUE
>
rows
:
1
select
autocommit
()
from
test
;
>>
TRUE
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/system/cast.sql
浏览文件 @
5e78f932
...
...
@@ -15,3 +15,75 @@ select cast(null as varchar(255)) xn, cast(' 10' as int) x10, cast(' 20 ' as int
>
---- --- ---
>
null
10
20
>
rows
:
1
select
cast
(
128
as
binary
);
>>
00000080
select
cast
(
65535
as
binary
);
>>
0000
ffff
select
cast
(
cast
(
'ff'
as
binary
)
as
tinyint
)
x
;
>>
-
1
select
cast
(
cast
(
'7f'
as
binary
)
as
tinyint
)
x
;
>>
127
select
cast
(
cast
(
'ff'
as
binary
)
as
smallint
)
x
;
>>
255
select
cast
(
cast
(
'ff'
as
binary
)
as
int
)
x
;
>>
255
select
cast
(
cast
(
'ffff'
as
binary
)
as
long
)
x
;
>>
65535
select
cast
(
cast
(
65535
as
long
)
as
binary
);
>>
000000000000
ffff
select
cast
(
cast
(
-
1
as
tinyint
)
as
binary
);
>>
ff
select
cast
(
cast
(
-
1
as
smallint
)
as
binary
);
>>
ffff
select
cast
(
cast
(
-
1
as
int
)
as
binary
);
>>
ffffffff
select
cast
(
cast
(
-
1
as
long
)
as
binary
);
>>
ffffffffffffffff
select
cast
(
cast
(
1
as
tinyint
)
as
binary
);
>>
01
select
cast
(
cast
(
1
as
smallint
)
as
binary
);
>>
0001
select
cast
(
cast
(
1
as
int
)
as
binary
);
>>
00000001
select
cast
(
cast
(
1
as
long
)
as
binary
);
>>
0000000000000001
select
cast
(
X
'ff'
as
tinyint
);
>>
-
1
select
cast
(
X
'ffff'
as
smallint
);
>>
-
1
select
cast
(
X
'ffffffff'
as
int
);
>>
-
1
select
cast
(
X
'ffffffffffffffff'
as
long
);
>>
-
1
select
cast
(
' 011 '
as
int
);
>>
11
select
cast
(
cast
(
0
.
1
as
real
)
as
decimal
);
>>
0
.
1
select
cast
(
cast
(
95605327
.
73
as
float
)
as
decimal
);
>>
95605327
.
73
select
cast
(
cast
(
'01020304-0506-0708-090a-0b0c0d0e0f00'
as
uuid
)
as
binary
);
>>
0102030405060708090
a0b0c0d0e0f00
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/system/database.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
right
(
database
(),
6
)
x_script
from
test
;
>
X_SCRIPT
>
--------
>
SCRIPT
>
rows
:
1
select
right
(
database
(),
6
)
from
test
;
>>
SCRIPT
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/system/decode.sql
浏览文件 @
5e78f932
...
...
@@ -2,3 +2,27 @@
-- and the EPL 1.0 (http://h2database.com/html/license.html).
-- Initial Developer: H2 Group
--
select
select
decode
(
null
,
null
,
'a'
);
>>
a
select
select
decode
(
1
,
1
,
'a'
);
>>
a
select
select
decode
(
1
,
2
,
'a'
);
>>
null
select
select
decode
(
1
,
1
,
'a'
,
'else'
);
>>
a
select
select
decode
(
1
,
2
,
'a'
,
'else'
);
>>
else
select
decode
(
4
.
0
,
2
.
0
,
2
.
0
,
3
.
0
,
3
.
0
);
>>
null
select
decode
(
'3'
,
2
.
0
,
2
.
0
,
3
,
3
.
0
);
>>
3
.
0
select
decode
(
4
.
0
,
2
.
0
,
2
.
0
,
3
.
0
,
3
.
0
,
4
.
0
,
4
.
0
,
9
.
0
);
>>
4
.
0
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/system/readonly.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
readonly
()
x_false
from
test
;
>
X_FALSE
>
-------
>
FALSE
>
rows
:
1
select
readonly
()
from
test
;
>>
FALSE
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/system/user.sql
浏览文件 @
5e78f932
...
...
@@ -15,8 +15,5 @@ select user() x_sa, current_user() x_sa2 from test;
>
SA
SA
>
rows
:
1
select
current_user
()
x_sa
from
test
;
>
X_SA
>
----
>
SA
>
rows
:
1
select
current_user
()
from
test
;
>>
SA
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/add_months.sql
浏览文件 @
5e78f932
...
...
@@ -4,29 +4,17 @@
--
-- 01-Aug-03 + 3 months = 01-Nov-03
SELECT
ADD_MONTHS
(
'2003-08-01'
,
3
)
AS
R
;
>
R
>
-------------------
>
2003
-
11
-
01
00
:
00
:
00
>
rows
:
1
SELECT
ADD_MONTHS
(
'2003-08-01'
,
3
);
>>
2003
-
11
-
01
00
:
00
:
00
-- 31-Jan-03 + 1 month = 28-Feb-2003
SELECT
ADD_MONTHS
(
'2003-01-31'
,
1
)
AS
R
;
>
R
>
-------------------
>
2003
-
02
-
28
00
:
00
:
00
>
rows
:
1
SELECT
ADD_MONTHS
(
'2003-01-31'
,
1
);
>>
2003
-
02
-
28
00
:
00
:
00
-- 21-Aug-2003 - 3 months = 21-May-2003
SELECT
ADD_MONTHS
(
'2003-08-21'
,
-
3
)
AS
R
;
>
R
>
-------------------
>
2003
-
05
-
21
00
:
00
:
00
>
rows
:
1
SELECT
ADD_MONTHS
(
'2003-08-21'
,
-
3
);
>>
2003
-
05
-
21
00
:
00
:
00
-- 21-Aug-2003 00:00:00.333 - 3 months = 21-May-2003 00:00:00.333
SELECT
ADD_MONTHS
(
'2003-08-21 00:00:00.333'
,
-
3
)
AS
R
;
>
R
>
-----------------------
>
2003
-
05
-
21
00
:
00
:
00
.
333
>
rows
:
1
SELECT
ADD_MONTHS
(
'2003-08-21 00:00:00.333'
,
-
3
);
>>
2003
-
05
-
21
00
:
00
:
00
.
333
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/dateadd.sql
浏览文件 @
5e78f932
...
...
@@ -9,17 +9,11 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
dateadd
(
'month'
,
1
,
timestamp
'2003-01-31 10:20:30.012345678'
)
d1
from
test
;
>
D1
>
-----------------------------
>
2003
-
02
-
28
10
:
20
:
30
.
012345678
>
rows
:
1
select
dateadd
(
'month'
,
1
,
timestamp
'2003-01-31 10:20:30.012345678'
)
from
test
;
>>
2003
-
02
-
28
10
:
20
:
30
.
012345678
select
dateadd
(
'year'
,
-
1
,
timestamp
'2000-02-29 10:20:30.012345678'
)
d1
from
test
;
>
D1
>
-----------------------------
>
1999
-
02
-
28
10
:
20
:
30
.
012345678
>
rows
:
1
select
dateadd
(
'year'
,
-
1
,
timestamp
'2000-02-29 10:20:30.012345678'
)
from
test
;
>>
1999
-
02
-
28
10
:
20
:
30
.
012345678
drop
table
test
;
>
ok
...
...
@@ -30,47 +24,26 @@ create table test(d date, t time, ts timestamp);
insert
into
test
values
(
date
'2001-01-01'
,
time
'01:00:00'
,
timestamp
'2010-01-01 00:00:00'
);
>
update
count
:
1
select
ts
+
t
x
from
test
;
>
X
>
-------------------
>
2010
-
01
-
01
01
:
00
:
00
>
rows
:
1
select
ts
+
t
from
test
;
>>
2010
-
01
-
01
01
:
00
:
00
select
ts
+
t
+
t
-
t
x
from
test
;
>
X
>
-------------------
>
2010
-
01
-
01
01
:
00
:
00
>
rows
:
1
>>
2010
-
01
-
01
01
:
00
:
00
select
ts
+
t
*
0
.
5
x
from
test
;
>
X
>
-------------------
>
2010
-
01
-
01
00
:
30
:
00
>
rows
:
1
>>
2010
-
01
-
01
00
:
30
:
00
select
ts
+
0
.
5
x
from
test
;
>
X
>
-------------------
>
2010
-
01
-
01
12
:
00
:
00
>
rows
:
1
>>
2010
-
01
-
01
12
:
00
:
00
select
ts
-
1
.
5
x
from
test
;
>
X
>
-------------------
>
2009
-
12
-
30
12
:
00
:
00
>
rows
:
1
>>
2009
-
12
-
30
12
:
00
:
00
select
ts
+
0
.
5
*
t
+
t
-
t
x
from
test
;
>
X
>
-------------------
>
2010
-
01
-
01
00
:
30
:
00
>
rows
:
1
>>
2010
-
01
-
01
00
:
30
:
00
select
ts
+
t
/
0
.
5
x
from
test
;
>
X
>
-------------------
>
2010
-
01
-
01
02
:
00
:
00
>
rows
:
1
>>
2010
-
01
-
01
02
:
00
:
00
select
d
+
t
,
t
+
d
-
t
x
from
test
;
>
T
+
D
X
...
...
@@ -85,25 +58,16 @@ select 1 + d + 1, d - 1, 2 + ts + 2, ts - 2 from test;
>
rows
:
1
select
1
+
d
+
t
+
1
from
test
;
>
DATEADD
(
'DAY'
,
1
,
(
T
+
DATEADD
(
'DAY'
,
1
,
D
)))
>
---------------------------------------------
>
2001
-
01
-
03
01
:
00
:
00
>
rows
:
1
>>
2001
-
01
-
03
01
:
00
:
00
select
ts
-
t
-
2
from
test
;
>
DATEADD
(
'DAY'
,
-
2
,
(
TS
-
T
))
>
----------------------------
>
2009
-
12
-
29
23
:
00
:
00
>
rows
:
1
>>
2009
-
12
-
29
23
:
00
:
00
drop
table
test
;
>
ok
call
dateadd
(
'MS'
,
1
,
TIMESTAMP
'2001-02-03 04:05:06.789001'
);
>
TIMESTAMP
'2001-02-03 04:05:06.790001'
>
--------------------------------------
>
2001
-
02
-
03
04
:
05
:
06
.
790001
>
rows
:
1
>>
2001
-
02
-
03
04
:
05
:
06
.
790001
SELECT
DATEADD
(
'MICROSECOND'
,
1
,
TIME
'10:00:01'
),
DATEADD
(
'MCS'
,
1
,
TIMESTAMP
'2010-10-20 10:00:01.1'
);
>
TIME
'10:00:01.000001'
TIMESTAMP
'2010-10-20 10:00:01.100001'
...
...
@@ -118,52 +82,29 @@ SELECT DATEADD('NANOSECOND', 1, TIME '10:00:01'), DATEADD('NS', 1, TIMESTAMP '20
>
rows
:
1
SELECT
DATEADD
(
'HOUR'
,
1
,
DATE
'2010-01-20'
);
>
TIMESTAMP
'2010-01-20 01:00:00'
>
-------------------------------
>
2010
-
01
-
20
01
:
00
:
00
>
rows
:
1
>>
2010
-
01
-
20
01
:
00
:
00
SELECT
DATEADD
(
'MINUTE'
,
30
,
TIME
'12:30:55'
);
>
TIME
'13:00:55'
>
---------------
>
13
:
00
:
55
>
rows
:
1
>>
13
:
00
:
55
SELECT
DATEADD
(
'DAY'
,
1
,
TIME
'12:30:55'
);
>
exception
SELECT
DATEADD
(
'QUARTER'
,
1
,
DATE
'2010-11-16'
);
>
DATE
'2011-02-16'
>
-----------------
>
2011
-
02
-
16
>
rows
:
1
>>
2011
-
02
-
16
SELECT
DATEADD
(
'DAY'
,
10
,
TIMESTAMP
WITH
TIME
ZONE
'2000-01-05 15:00:30.123456789-10'
);
>
TIMESTAMP
WITH
TIME
ZONE
'2000-01-15 15:00:30.123456789-10'
>
-----------------------------------------------------------
>
2000
-
01
-
15
15
:
00
:
30
.
123456789
-
10
>
rows
:
1
>>
2000
-
01
-
15
15
:
00
:
30
.
123456789
-
10
SELECT
TIMESTAMPADD
(
'DAY'
,
10
,
TIMESTAMP
'2000-01-05 15:00:30.123456789'
);
>
TIMESTAMP
'2000-01-15 15:00:30.123456789'
>
-----------------------------------------
>
2000
-
01
-
15
15
:
00
:
30
.
123456789
>
rows
:
1
>>
2000
-
01
-
15
15
:
00
:
30
.
123456789
SELECT
TIMESTAMPADD
(
'TIMEZONE_HOUR'
,
1
,
TIMESTAMP
WITH
TIME
ZONE
'2010-01-01 10:00:00+07:30'
)
AS
T
;
>
T
>
-------------------------
>
2010
-
01
-
01
10
:
00
:
00
+
08
:
30
>
rows
:
1
SELECT
TIMESTAMPADD
(
'TIMEZONE_HOUR'
,
1
,
TIMESTAMP
WITH
TIME
ZONE
'2010-01-01 10:00:00+07:30'
);
>>
2010
-
01
-
01
10
:
00
:
00
+
08
:
30
SELECT
TIMESTAMPADD
(
'TIMEZONE_MINUTE'
,
-
45
,
TIMESTAMP
WITH
TIME
ZONE
'2010-01-01 10:00:00+07:30'
)
AS
T
;
>
T
>
-------------------------
>
2010
-
01
-
01
10
:
00
:
00
+
06
:
45
>
rows
:
1
SELECT
TIMESTAMPADD
(
'TIMEZONE_MINUTE'
,
-
45
,
TIMESTAMP
WITH
TIME
ZONE
'2010-01-01 10:00:00+07:30'
);
>>
2010
-
01
-
01
10
:
00
:
00
+
06
:
45
SELECT
DATEADD
(
HOUR
,
1
,
TIME
'23:00:00'
)
AS
T
;
>
T
>
--------
>
00
:
00
:
00
SELECT
DATEADD
(
HOUR
,
1
,
TIME
'23:00:00'
);
>>
00
:
00
:
00
>
rows
:
1
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/datediff.sql
浏览文件 @
5e78f932
...
...
@@ -9,89 +9,47 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
datediff
(
'yy'
,
timestamp
'2003-12-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
d1
from
test
;
>
D1
>
--
>
1
>
rows
:
1
select
datediff
(
'yy'
,
timestamp
'2003-12-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
from
test
;
>>
1
select
datediff
(
'year'
,
timestamp
'2003-12-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
d1
from
test
;
>
D1
>
--
>
1
>
rows
:
1
select
datediff
(
'year'
,
timestamp
'2003-12-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
from
test
;
>>
1
select
datediff
(
'mm'
,
timestamp
'2003-11-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
d2
from
test
;
>
D2
>
--
>
2
>
rows
:
1
select
datediff
(
'mm'
,
timestamp
'2003-11-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
from
test
;
>>
2
select
datediff
(
'month'
,
timestamp
'2003-11-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
d2
from
test
;
>
D2
>
--
>
2
>
rows
:
1
select
datediff
(
'month'
,
timestamp
'2003-11-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
from
test
;
>>
2
select
datediff
(
'dd'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-05 10:00:00.0'
)
d4
from
test
;
>
D4
>
--
>
4
>
rows
:
1
select
datediff
(
'dd'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-05 10:00:00.0'
)
from
test
;
>>
4
select
datediff
(
'day'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-05 10:00:00.0'
)
d4
from
test
;
>
D4
>
--
>
4
>
rows
:
1
select
datediff
(
'day'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-05 10:00:00.0'
)
from
test
;
>>
4
select
datediff
(
'hh'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-02 10:00:00.0'
)
d24
from
test
;
>
D24
>
---
>
24
>
rows
:
1
select
datediff
(
'hh'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-02 10:00:00.0'
)
from
test
;
>>
24
select
datediff
(
'hour'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-02 10:00:00.0'
)
d24
from
test
;
>
D24
>
---
>
24
>
rows
:
1
select
datediff
(
'hour'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-02 10:00:00.0'
)
from
test
;
>>
24
select
datediff
(
'mi'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
d20
from
test
;
>
D20
>
---
>
-
20
>
rows
:
1
select
datediff
(
'mi'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
from
test
;
>>
-
20
select
datediff
(
'minute'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
d20
from
test
;
>
D20
>
---
>
-
20
>
rows
:
1
select
datediff
(
'minute'
,
timestamp
'2004-01-01 10:20:30.0'
,
timestamp
'2004-01-01 10:00:00.0'
)
from
test
;
>>
-
20
select
datediff
(
'ss'
,
timestamp
'2004-01-01 10:00:00.5'
,
timestamp
'2004-01-01 10:00:01.0'
)
d1
from
test
;
>
D1
>
--
>
1
>
rows
:
1
select
datediff
(
'ss'
,
timestamp
'2004-01-01 10:00:00.5'
,
timestamp
'2004-01-01 10:00:01.0'
)
from
test
;
>>
1
select
datediff
(
'second'
,
timestamp
'2004-01-01 10:00:00.5'
,
timestamp
'2004-01-01 10:00:01.0'
)
d1
from
test
;
>
D1
>
--
>
1
>
rows
:
1
select
datediff
(
'second'
,
timestamp
'2004-01-01 10:00:00.5'
,
timestamp
'2004-01-01 10:00:01.0'
)
from
test
;
>>
1
select
datediff
(
'ms'
,
timestamp
'2004-01-01 10:00:00.5'
,
timestamp
'2004-01-01 10:00:01.0'
)
d50x
from
test
;
>
D50X
>
----
>
500
>
rows
:
1
select
datediff
(
'ms'
,
timestamp
'2004-01-01 10:00:00.5'
,
timestamp
'2004-01-01 10:00:01.0'
)
from
test
;
>>
500
select
datediff
(
'millisecond'
,
timestamp
'2004-01-01 10:00:00.5'
,
timestamp
'2004-01-01 10:00:01.0'
)
d50x
from
test
;
>
D50X
>
----
>
500
>
rows
:
1
select
datediff
(
'millisecond'
,
timestamp
'2004-01-01 10:00:00.5'
,
timestamp
'2004-01-01 10:00:01.0'
)
from
test
;
>>
500
SELECT
DATEDIFF
(
'SECOND'
,
'1900-01-01 00:00:00.001'
,
'1900-01-01 00:00:00.002'
),
DATEDIFF
(
'SECOND'
,
'2000-01-01 00:00:00.001'
,
'2000-01-01 00:00:00.002'
);
>
0
0
...
...
@@ -154,10 +112,7 @@ call datediff('MS', TIMESTAMP '2001-02-03 04:05:06.789001', TIMESTAMP '2001-02-0
>
rows
:
1
call
datediff
(
'MS'
,
TIMESTAMP
'1900-01-01 00:00:01.000'
,
TIMESTAMP
'2008-01-01 00:00:00.000'
);
>
3408134399000
>
-------------
>
3408134399000
>
rows
:
1
>>
3408134399000
SELECT
DATEDIFF
(
'MICROSECOND'
,
'2006-01-01 00:00:00.0000000'
,
'2006-01-01 00:00:00.123456789'
),
DATEDIFF
(
'MCS'
,
'2006-01-01 00:00:00.0000000'
,
'2006-01-01 00:00:00.123456789'
),
...
...
@@ -212,46 +167,48 @@ SELECT DATEDIFF('WEEK', DATE '1969-12-28', DATE '1969-12-29'), DATEDIFF('ISO_WEE
>
rows
:
1
SELECT
DATEDIFF
(
'QUARTER'
,
DATE
'2009-12-30'
,
DATE
'2009-12-31'
);
>
0
>
-
>
0
>
rows
:
1
>>
0
SELECT
DATEDIFF
(
'QUARTER'
,
DATE
'2010-01-01'
,
DATE
'2009-12-31'
);
>
-
1
>
--
>
-
1
>
rows
:
1
>>
-
1
SELECT
DATEDIFF
(
'QUARTER'
,
DATE
'2010-01-01'
,
DATE
'2010-01-02'
);
>
0
>
-
>
0
>
rows
:
1
>>
0
SELECT
DATEDIFF
(
'QUARTER'
,
DATE
'2010-01-01'
,
DATE
'2010-03-31'
);
>
0
>
-
>
0
>
rows
:
1
>>
0
SELECT
DATEDIFF
(
'QUARTER'
,
DATE
'-1000-01-01'
,
DATE
'2000-01-01'
);
>
12000
>
-----
>
12000
>
rows
:
1
>>
12000
SELECT
DATEDIFF
(
'TIMEZONE_HOUR'
,
TIMESTAMP
WITH
TIME
ZONE
'2010-01-01 10:00:00+01'
,
TIMESTAMP
WITH
TIME
ZONE
'2012-02-02 12:00:00+02'
);
>
1
>
-
>
1
>
rows
:
1
>>
1
SELECT
DATEDIFF
(
'TIMEZONE_MINUTE'
,
TIMESTAMP
WITH
TIME
ZONE
'2010-01-01 10:00:00+01:15'
,
TIMESTAMP
WITH
TIME
ZONE
'2012-02-02 12:00:00+02'
);
>
45
>
--
>
45
>
rows
:
1
>>
45
select
datediff
(
'HOUR'
,
timestamp
'2007-01-06 10:00:00Z'
,
'2007-01-06 10:00:00Z'
);
>>
0
select
datediff
(
'HOUR'
,
timestamp
'1234-05-06 10:00:00+01:00'
,
'1234-05-06 10:00:00+02:00'
);
>>
-
1
select
datediff
(
'HOUR'
,
timestamp
'1234-05-06 10:00:00+01:00'
,
'1234-05-06 10:00:00-02:00'
);
>>
3
select
timestampdiff
(
month
,
'2003-02-01'
,
'2003-05-01'
);
>>
3
select
timestampdiff
(
YEAR
,
'2002-05-01'
,
'2001-01-01'
);
>>
-
1
select
timestampdiff
(
YEAR
,
'2017-01-01'
,
'2016-12-31 23:59:59'
);
>>
-
1
select
timestampdiff
(
YEAR
,
'2017-01-01'
,
'2017-12-31 23:59:59'
);
>>
0
select
timestampdiff
(
MINUTE
,
'2003-02-01'
,
'2003-05-01 12:05:55'
);
>>
128885
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/day-of-month.sql
浏览文件 @
5e78f932
...
...
@@ -9,11 +9,8 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
dayofmonth
(
date
'2005-09-12'
)
d12
from
test
;
>
D12
>
---
>
12
>
rows
:
1
select
dayofmonth
(
date
'2005-09-12'
)
from
test
;
>>
12
drop
table
test
;
>
ok
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/day-of-week.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
dayofweek
(
date
'2005-09-12'
)
d2
from
test
;
>
D2
>
--
>
2
>
rows
:
1
select
dayofweek
(
date
'2005-09-12'
)
from
test
;
>>
2
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/day-of-year.sql
浏览文件 @
5e78f932
...
...
@@ -10,7 +10,4 @@ insert into test values(1, 'Hello');
>
update
count
:
1
select
dayofyear
(
date
'2005-01-01'
)
d1
from
test
;
>
D1
>
--
>
1
>
rows
:
1
>>
1
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/dayname.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
dayname
(
date
'2005-09-12'
)
d_monday
from
test
;
>
D_MONDAY
>
--------
>
Monday
>
rows
:
1
select
dayname
(
date
'2005-09-12'
)
from
test
;
>>
Monday
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/extract.sql
浏览文件 @
5e78f932
...
...
@@ -18,64 +18,61 @@ SELECT EXTRACT (NANOSECOND FROM TIME '10:00:00.123456789'),
>
rows
:
1
select
EXTRACT
(
EPOCH
from
time
'00:00:00'
);
>
0
>
>
0
select
EXTRACT
(
EPOCH
from
time
'10:00:00'
);
>
36000
>
>
36000
select
EXTRACT
(
EPOCH
from
time
'10:00:00.123456'
);
>
36000
.
123456
>
>
36000
.
123456
select
EXTRACT
(
EPOCH
from
date
'1970-01-01'
);
>
0
>
>
0
select
EXTRACT
(
EPOCH
from
date
'2000-01-03'
);
>
946857600
>
>
946857600
select
EXTRACT
(
EPOCH
from
timestamp
'1970-01-01 00:00:00'
);
>
0
>
>
0
select
EXTRACT
(
EPOCH
from
timestamp
'1970-01-03 12:00:00.123456'
);
>
216000
.
123456
>
>
216000
.
123456
select
EXTRACT
(
EPOCH
from
timestamp
'2000-01-03 12:00:00.123456'
);
>
946900800
.
123456
>
>
946900800
.
123456
select
EXTRACT
(
EPOCH
from
timestamp
'2500-01-03 12:00:00.654321'
);
>
16725441600
.
654321
>
>
16725441600
.
654321
select
EXTRACT
(
EPOCH
from
timestamp
with
time
zone
'1970-01-01 00:00:00+05'
);
>
-
18000
>
>
-
18000
select
EXTRACT
(
EPOCH
from
timestamp
with
time
zone
'1970-01-03 12:00:00.123456+05'
);
>
198000
.
123456
>
>
198000
.
123456
select
EXTRACT
(
EPOCH
from
timestamp
with
time
zone
'2000-01-03 12:00:00.123456+05'
);
>
946882800
.
123456
>
>
946882800
.
123456
select
extract
(
EPOCH
from
'2001-02-03 14:15:16'
);
>
981209716
>
>
981209716
SELECT
EXTRACT
(
TIMEZONE_HOUR
FROM
TIMESTAMP
WITH
TIME
ZONE
'2010-01-02 5:00:00+07:15'
);
>
7
>
-
>
7
>
rows
:
1
>>
7
SELECT
EXTRACT
(
TIMEZONE_HOUR
FROM
TIMESTAMP
WITH
TIME
ZONE
'2010-01-02 5:00:00-08:30'
);
>
-
8
>
--
>
-
8
>
rows
:
1
>>
-
8
SELECT
EXTRACT
(
TIMEZONE_MINUTE
FROM
TIMESTAMP
WITH
TIME
ZONE
'2010-01-02 5:00:00+07:15'
);
>
15
>
--
>
15
>
rows
:
1
>>
15
SELECT
EXTRACT
(
TIMEZONE_MINUTE
FROM
TIMESTAMP
WITH
TIME
ZONE
'2010-01-02 5:00:00-08:30'
);
>
-
30
>
---
>
-
30
>
rows
:
1
>>
-
30
select
extract
(
hour
from
timestamp
'2001-02-03 14:15:16'
);
>>
14
select
extract
(
hour
from
'2001-02-03 14:15:16'
);
>>
14
select
extract
(
week
from
timestamp
'2001-02-03 14:15:16'
);
>>
5
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/formatdatetime.sql
浏览文件 @
5e78f932
...
...
@@ -4,43 +4,22 @@
--
CALL
FORMATDATETIME
(
PARSEDATETIME
(
'2001-02-03 04:05:06 GMT'
,
'yyyy-MM-dd HH:mm:ss z'
,
'en'
,
'GMT'
),
'EEE, d MMM yyyy HH:mm:ss z'
,
'en'
,
'GMT'
);
>
'Sat, 3 Feb 2001 04:05:06 GMT'
>
------------------------------
>
Sat
,
3
Feb
2001
04
:
05
:
06
GMT
>
rows
:
1
>>
Sat
,
3
Feb
2001
04
:
05
:
06
GMT
CALL
FORMATDATETIME
(
TIMESTAMP
'2001-02-03 04:05:06'
,
'yyyy-MM-dd HH:mm:ss'
);
>
'2001-02-03 04:05:06'
>
---------------------
>
2001
-
02
-
03
04
:
05
:
06
>
rows
:
1
>>
2001
-
02
-
03
04
:
05
:
06
CALL
FORMATDATETIME
(
TIMESTAMP
'2001-02-03 04:05:06'
,
'MM/dd/yyyy HH:mm:ss'
);
>
'02/03/2001 04:05:06'
>
---------------------
>
02
/
03
/
2001
04
:
05
:
06
>
rows
:
1
>>
02
/
03
/
2001
04
:
05
:
06
CALL
FORMATDATETIME
(
TIMESTAMP
'2001-02-03 04:05:06'
,
'd. MMMM yyyy'
,
'de'
);
>
'3. Februar 2001'
>
-----------------
>
3
.
Februar
2001
>
rows
:
1
>>
3
.
Februar
2001
CALL
FORMATDATETIME
(
PARSEDATETIME
(
'Sat, 3 Feb 2001 04:05:06 GMT'
,
'EEE, d MMM yyyy HH:mm:ss z'
,
'en'
,
'GMT'
),
'yyyy-MM-dd HH:mm:ss'
,
'en'
,
'GMT'
);
>
'2001-02-03 04:05:06'
>
---------------------
>
2001
-
02
-
03
04
:
05
:
06
>
rows
:
1
>>
2001
-
02
-
03
04
:
05
:
06
SELECT
FORMATDATETIME
(
TIMESTAMP
WITH
TIME
ZONE
'2010-05-06 07:08:09.123Z'
,
'yyyy-MM-dd HH:mm:ss.SSS z'
)
AS
S
;
>
S
>
---------------------------
>
2010
-
05
-
06
07
:
08
:
09
.
123
UTC
>
rows
:
1
SELECT
FORMATDATETIME
(
TIMESTAMP
WITH
TIME
ZONE
'2010-05-06 07:08:09.123Z'
,
'yyyy-MM-dd HH:mm:ss.SSS z'
);
>>
2010
-
05
-
06
07
:
08
:
09
.
123
UTC
SELECT
FORMATDATETIME
(
TIMESTAMP
WITH
TIME
ZONE
'2010-05-06 07:08:09.123+13:30'
,
'yyyy-MM-dd HH:mm:ss.SSS z'
)
AS
S
;
>
S
>
---------------------------------
>
2010
-
05
-
06
07
:
08
:
09
.
123
GMT
+
13
:
30
>
rows
:
1
SELECT
FORMATDATETIME
(
TIMESTAMP
WITH
TIME
ZONE
'2010-05-06 07:08:09.123+13:30'
,
'yyyy-MM-dd HH:mm:ss.SSS z'
);
>>
2010
-
05
-
06
07
:
08
:
09
.
123
GMT
+
13
:
30
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/hour.sql
浏览文件 @
5e78f932
...
...
@@ -9,11 +9,8 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
hour
(
time
'23:10:59'
)
d23
from
test
;
>
D23
>
---
>
23
>
rows
:
1
select
hour
(
time
'23:10:59'
)
from
test
;
>>
23
drop
table
test
;
>
ok
...
...
@@ -33,3 +30,6 @@ select hour(ts) h from test;
drop
table
test
;
>
ok
select
hour
(
'2001-02-03 14:15:16'
);
>>
14
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/minute.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
minute
(
timestamp
'2005-01-01 23:10:59'
)
d10
from
test
;
>
D10
>
---
>
10
>
rows
:
1
select
minute
(
timestamp
'2005-01-01 23:10:59'
)
from
test
;
>>
10
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/month.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
month
(
date
'2005-09-25'
)
d9
from
test
;
>
D9
>
--
>
9
>
rows
:
1
select
month
(
date
'2005-09-25'
)
from
test
;
>>
9
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/monthname.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
monthname
(
date
'2005-09-12'
)
d_sept
from
test
;
>
D_SEPT
>
---------
>
September
>
rows
:
1
select
monthname
(
date
'2005-09-12'
)
from
test
;
>>
September
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/parsedatetime.sql
浏览文件 @
5e78f932
...
...
@@ -4,14 +4,7 @@
--
CALL
PARSEDATETIME
(
'3. Februar 2001'
,
'd. MMMM yyyy'
,
'de'
);
>
TIMESTAMP
'2001-02-03 00:00:00'
>
-------------------------------
>
2001
-
02
-
03
00
:
00
:
00
>
rows
:
1
>>
2001
-
02
-
03
00
:
00
:
00
CALL
PARSEDATETIME
(
'02/03/2001 04:05:06'
,
'MM/dd/yyyy HH:mm:ss'
);
>
TIMESTAMP
'2001-02-03 04:05:06'
>
-------------------------------
>
2001
-
02
-
03
04
:
05
:
06
>
rows
:
1
>>
2001
-
02
-
03
04
:
05
:
06
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/quarter.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
quarter
(
date
'2005-09-01'
)
d3
from
test
;
>
D3
>
--
>
3
>
rows
:
1
select
quarter
(
date
'2005-09-01'
)
from
test
;
>>
3
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/second.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
second
(
timestamp
'2005-01-01 23:10:59'
)
d59
from
test
;
>
D59
>
---
>
59
>
rows
:
1
select
second
(
timestamp
'2005-01-01 23:10:59'
)
from
test
;
>>
59
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/truncate.sql
浏览文件 @
5e78f932
...
...
@@ -3,26 +3,14 @@
-- Initial Developer: H2 Group
--
select
trunc
(
'2015-05-29 15:00:00'
)
R
;
>
R
>
-------------------
>
2015
-
05
-
29
00
:
00
:
00
>
rows
:
1
select
trunc
(
'2015-05-29 15:00:00'
);
>>
2015
-
05
-
29
00
:
00
:
00
select
trunc
(
'2015-05-29'
)
R
;
>
R
>
-------------------
>
2015
-
05
-
29
00
:
00
:
00
>
rows
:
1
select
trunc
(
'2015-05-29'
);
>>
2015
-
05
-
29
00
:
00
:
00
select
trunc
(
timestamp
'2000-01-01 10:20:30.0'
)
R
;
>
R
>
-------------------
>
2000
-
01
-
01
00
:
00
:
00
>
rows
:
1
select
trunc
(
timestamp
'2000-01-01 10:20:30.0'
);
>>
2000
-
01
-
01
00
:
00
:
00
select
trunc
(
timestamp
'2001-01-01 14:00:00.0'
)
R
;
>
R
>
-------------------
>
2001
-
01
-
01
00
:
00
:
00
>
rows
:
1
select
trunc
(
timestamp
'2001-01-01 14:00:00.0'
);
>>
2001
-
01
-
01
00
:
00
:
00
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/week.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
week
(
date
'2003-01-09'
)
d1
from
test
;
>
D1
>
--
>
2
>
rows
:
1
select
week
(
date
'2003-01-09'
)
from
test
;
>>
2
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/functions/timeanddate/year.sql
浏览文件 @
5e78f932
...
...
@@ -9,8 +9,5 @@ create memory table test(id int primary key, name varchar(255));
insert
into
test
values
(
1
,
'Hello'
);
>
update
count
:
1
select
year
(
date
'2005-01-01'
)
d2005
from
test
;
>
D2005
>
-----
>
2005
>
rows
:
1
select
year
(
date
'2005-01-01'
)
from
test
;
>>
2005
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/scripts/testSimple.in.txt
浏览文件 @
5e78f932
...
...
@@ -14,46 +14,8 @@ select 1.0000000 / 3 * 0.00000;
> 0.0000000000000000000000000000000000000;
select 1.0000000 / 3 * 0.000000;
> 0E-38;
select substr('[Hello]', 2, 5);
> Hello;
select substr('Hello World', -5);
> World;
create table test(id null);
drop table test;
select select decode(null, null, 'a');
> a;
select select decode(1, 1, 'a');
> a;
select select decode(1, 2, 'a');
> null;
select select decode(1, 1, 'a', 'else');
> a;
select select decode(1, 2, 'a', 'else');
> else;
select decode(4.0, 2.0, 2.0, 3.0, 3.0);
> null;
select decode('3', 2.0, 2.0, 3, 3.0);
> 3.0;
select decode(4.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 9.0);
> 4.0;
select array_contains((4.0, 2.0, 2.0), 2.0);
> TRUE;
select array_contains((4.0, 2.0, 2.0), 5.0);
> FALSE;
select array_contains(('one', 'two'), 'one');
> TRUE;
select array_contains(('one', 'two'), 'xxx');
> FALSE;
select array_contains(('one', 'two'), null);
> FALSE;
select array_contains((null, 'two'), null);
> TRUE;
select array_contains(null, 'one');
> FALSE;
select array_contains(((1, 2), (3, 4)), (1, 2));
> TRUE;
select array_contains(((1, 2), (3, 4)), (5, 6));
> FALSE;
select * from (select group_concat(distinct 1) from system_range(1, 3));
> 1;
select sum(mod(x, 2) = 1) from system_range(1, 10);
...
...
@@ -69,50 +31,8 @@ select {fn TIMESTAMPADD(SQL_TSI_DAY, 1, {ts '2011-10-20 20:30:40.001'})};
> 2011-10-21 20:30:40.001;
select {fn TIMESTAMPADD(SQL_TSI_SECOND, 1, cast('2011-10-20 20:30:40.001' as timestamp))};
> 2011-10-20 20:30:41.001;
select cast(128 as binary);
> 00000080;
select cast(65535 as binary);
> 0000ffff;
select cast(cast('ff' as binary) as tinyint) x;
> -1;
select cast(cast('7f' as binary) as tinyint) x;
> 127;
select cast(cast('ff' as binary) as smallint) x;
> 255;
select cast(cast('ff' as binary) as int) x;
> 255;
select cast(cast('ffff' as binary) as long) x;
> 65535;
select cast(cast(65535 as long) as binary);
> 000000000000ffff;
select cast(cast(-1 as tinyint) as binary);
> ff;
select cast(cast(-1 as smallint) as binary);
> ffff;
select cast(cast(-1 as int) as binary);
> ffffffff;
select cast(cast(-1 as long) as binary);
> ffffffffffffffff;
select cast(cast(1 as tinyint) as binary);
> 01;
select cast(cast(1 as smallint) as binary);
> 0001;
select cast(cast(1 as int) as binary);
> 00000001;
select cast(cast(1 as long) as binary);
> 0000000000000001;
select cast(X'ff' as tinyint);
> -1;
select cast(X'ffff' as smallint);
> -1;
select cast(X'ffffffff' as int);
> -1;
select cast(X'ffffffffffffffff' as long);
> -1;
select N'test';
> test;
select cast(' 011 ' as int);
> 11;
select E'test\\test';
> test\test;
create table a(id int) as select null;
...
...
@@ -156,24 +76,8 @@ alter table test alter column id drop not null;
select is_nullable from information_schema.columns c where c.table_name = 'TEST' and c.column_name = 'ID';
> YES;
drop table test;
select cast(cast(0.1 as real) as decimal);
> 0.1;
select cast(cast(95605327.73 as float) as decimal);
> 95605327.73;
select timestampdiff(month, '2003-02-01','2003-05-01');
> 3;
select timestampdiff(YEAR,'2002-05-01','2001-01-01');
> -1;
select timestampdiff(YEAR,'2017-01-01','2016-12-31 23:59:59');
> -1;
select timestampdiff(YEAR,'2017-01-01','2017-12-31 23:59:59');
> 0;
select timestampdiff(MINUTE,'2003-02-01','2003-05-01 12:05:55');
> 128885;
select x from (select *, rownum as r from system_range(1, 3)) where r=2;
> 2;
select cast(cast('01020304-0506-0708-090a-0b0c0d0e0f00' as uuid) as binary);
> 0102030405060708090a0b0c0d0e0f00;
create table test(name varchar(255)) as select 'Hello+World+';
select count(*) from test where name like 'Hello++World++' escape '+';
> 1;
...
...
@@ -356,15 +260,6 @@ CREATE TABLE Contact.Contact (id BIGINT primary key, FOREIGN KEY (id) REFERENCES
drop schema contact cascade;
drop table account, person;
select extract(hour from timestamp '2001-02-03 14:15:16');
> 14;
select extract(hour from '2001-02-03 14:15:16');
> 14;
select hour('2001-02-03 14:15:16');
> 14;
select extract(week from timestamp '2001-02-03 14:15:16');
> 5;
CREATE TABLE TEST(A int NOT NULL, B int NOT NULL, C int) ;
ALTER TABLE TEST ADD CONSTRAINT CON UNIQUE(A,B);
ALTER TABLE TEST DROP C;
...
...
@@ -385,10 +280,6 @@ select count(*) from (select * from (select * from test union select * from test
select 1 from ((test d1 inner join test d2 on d1.id = d2.id) inner join test d3 on d1.id = d3.id) inner join test d4 on d4.id = d1.id;
drop table test;
select lpad('string', 10, '+');
> ++++string;
select rpad('string', 10, '+');
> string++++;
select lpad('string', 10);
> string;
...
...
@@ -561,12 +452,6 @@ select date '+0011-01-01';
> 0011-01-01;
select date'-0010-01-01';
> -10-01-01;
select datediff('HOUR', timestamp '2007-01-06 10:00:00Z', '2007-01-06 10:00:00Z');
> 0;
select datediff('HOUR', timestamp '1234-05-06 10:00:00+01:00', '1234-05-06 10:00:00+02:00');
> -1;
select datediff('HOUR', timestamp '1234-05-06 10:00:00+01:00', '1234-05-06 10:00:00-02:00');
> 3;
create schema TEST_SCHEMA;
create table TEST_SCHEMA.test(id int);
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论