date.err 33 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319
  1. <sql-statement>
  2. --
  3. -- DATE
  4. --
  5. CREATE TABLE DATE_TBL (f1 date);
  6. </sql-statement>
  7. <sql-statement>
  8. INSERT INTO DATE_TBL VALUES ('1957-04-09');
  9. </sql-statement>
  10. <sql-statement>
  11. INSERT INTO DATE_TBL VALUES ('1957-06-13');
  12. </sql-statement>
  13. <sql-statement>
  14. INSERT INTO DATE_TBL VALUES ('1996-02-28');
  15. </sql-statement>
  16. <sql-statement>
  17. INSERT INTO DATE_TBL VALUES ('1996-02-29');
  18. </sql-statement>
  19. <sql-statement>
  20. INSERT INTO DATE_TBL VALUES ('1996-03-01');
  21. </sql-statement>
  22. <sql-statement>
  23. INSERT INTO DATE_TBL VALUES ('1996-03-02');
  24. </sql-statement>
  25. <sql-statement>
  26. INSERT INTO DATE_TBL VALUES ('1997-02-28');
  27. </sql-statement>
  28. <sql-statement>
  29. INSERT INTO DATE_TBL VALUES ('1997-02-29');
  30. </sql-statement>
  31. -stdin-:<main>: Fatal: Execution
  32. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  33. INSERT INTO DATE_TBL VALUES ('1997-02-29');
  34. ^
  35. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "1997-02-29"
  36. INSERT INTO DATE_TBL VALUES ('1997-02-29');
  37. ^
  38. <sql-statement>
  39. INSERT INTO DATE_TBL VALUES ('1997-03-01');
  40. </sql-statement>
  41. <sql-statement>
  42. INSERT INTO DATE_TBL VALUES ('1997-03-02');
  43. </sql-statement>
  44. <sql-statement>
  45. INSERT INTO DATE_TBL VALUES ('2000-04-01');
  46. </sql-statement>
  47. <sql-statement>
  48. INSERT INTO DATE_TBL VALUES ('2000-04-02');
  49. </sql-statement>
  50. <sql-statement>
  51. INSERT INTO DATE_TBL VALUES ('2000-04-03');
  52. </sql-statement>
  53. <sql-statement>
  54. INSERT INTO DATE_TBL VALUES ('2038-04-08');
  55. </sql-statement>
  56. <sql-statement>
  57. INSERT INTO DATE_TBL VALUES ('2039-04-09');
  58. </sql-statement>
  59. <sql-statement>
  60. INSERT INTO DATE_TBL VALUES ('2040-04-10');
  61. </sql-statement>
  62. <sql-statement>
  63. INSERT INTO DATE_TBL VALUES ('2040-04-10 BC');
  64. </sql-statement>
  65. <sql-statement>
  66. SELECT f1 FROM DATE_TBL;
  67. </sql-statement>
  68. <sql-statement>
  69. SELECT f1 FROM DATE_TBL WHERE f1 < '2000-01-01';
  70. </sql-statement>
  71. <sql-statement>
  72. SELECT f1 FROM DATE_TBL
  73. WHERE f1 BETWEEN '2000-01-01' AND '2001-01-01';
  74. </sql-statement>
  75. <sql-statement>
  76. --
  77. -- Check all the documented input formats
  78. --
  79. SET datestyle TO iso; -- display results in ISO
  80. </sql-statement>
  81. <sql-statement>
  82. SET datestyle TO ymd;
  83. </sql-statement>
  84. <sql-statement>
  85. SELECT date 'January 8, 1999';
  86. </sql-statement>
  87. <sql-statement>
  88. SELECT date '1999-01-08';
  89. </sql-statement>
  90. <sql-statement>
  91. SELECT date '1999-01-18';
  92. </sql-statement>
  93. <sql-statement>
  94. SELECT date '1/8/1999';
  95. </sql-statement>
  96. <sql-statement>
  97. SELECT date '1/18/1999';
  98. </sql-statement>
  99. <sql-statement>
  100. SELECT date '18/1/1999';
  101. </sql-statement>
  102. -stdin-:<main>: Fatal: Execution
  103. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  104. SELECT date '18/1/1999';
  105. ^
  106. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "18/1/1999"
  107. HINT: Perhaps you need a different "datestyle" setting.
  108. SELECT date '18/1/1999';
  109. ^
  110. <sql-statement>
  111. SELECT date '01/02/03';
  112. </sql-statement>
  113. <sql-statement>
  114. SELECT date '19990108';
  115. </sql-statement>
  116. <sql-statement>
  117. SELECT date '990108';
  118. </sql-statement>
  119. <sql-statement>
  120. SELECT date '1999.008';
  121. </sql-statement>
  122. <sql-statement>
  123. SELECT date 'J2451187';
  124. </sql-statement>
  125. <sql-statement>
  126. SELECT date 'January 8, 99 BC';
  127. </sql-statement>
  128. <sql-statement>
  129. SELECT date '99-Jan-08';
  130. </sql-statement>
  131. -stdin-:<main>: Fatal: Execution
  132. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  133. SELECT date '99-Jan-08';
  134. ^
  135. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99-Jan-08"
  136. HINT: Perhaps you need a different "datestyle" setting.
  137. SELECT date '99-Jan-08';
  138. ^
  139. <sql-statement>
  140. SELECT date '1999-Jan-08';
  141. </sql-statement>
  142. <sql-statement>
  143. SELECT date '08-Jan-99';
  144. </sql-statement>
  145. <sql-statement>
  146. SELECT date '08-Jan-1999';
  147. </sql-statement>
  148. <sql-statement>
  149. SELECT date 'Jan-08-99';
  150. </sql-statement>
  151. <sql-statement>
  152. SELECT date 'Jan-08-1999';
  153. </sql-statement>
  154. <sql-statement>
  155. SELECT date '99-08-Jan';
  156. </sql-statement>
  157. -stdin-:<main>: Fatal: Execution
  158. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  159. SELECT date '99-08-Jan';
  160. ^
  161. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "99-08-Jan"
  162. SELECT date '99-08-Jan';
  163. ^
  164. <sql-statement>
  165. SELECT date '1999-08-Jan';
  166. </sql-statement>
  167. -stdin-:<main>: Fatal: Execution
  168. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  169. SELECT date '1999-08-Jan';
  170. ^
  171. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "1999-08-Jan"
  172. SELECT date '1999-08-Jan';
  173. ^
  174. <sql-statement>
  175. SELECT date '99 Jan 08';
  176. </sql-statement>
  177. -stdin-:<main>: Fatal: Execution
  178. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  179. SELECT date '99 Jan 08';
  180. ^
  181. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "99 Jan 08"
  182. SELECT date '99 Jan 08';
  183. ^
  184. <sql-statement>
  185. SELECT date '1999 Jan 08';
  186. </sql-statement>
  187. <sql-statement>
  188. SELECT date '08 Jan 99';
  189. </sql-statement>
  190. <sql-statement>
  191. SELECT date '08 Jan 1999';
  192. </sql-statement>
  193. <sql-statement>
  194. SELECT date 'Jan 08 99';
  195. </sql-statement>
  196. <sql-statement>
  197. SELECT date 'Jan 08 1999';
  198. </sql-statement>
  199. <sql-statement>
  200. SELECT date '99 08 Jan';
  201. </sql-statement>
  202. -stdin-:<main>: Fatal: Execution
  203. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  204. SELECT date '99 08 Jan';
  205. ^
  206. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "99 08 Jan"
  207. SELECT date '99 08 Jan';
  208. ^
  209. <sql-statement>
  210. SELECT date '1999 08 Jan';
  211. </sql-statement>
  212. <sql-statement>
  213. SELECT date '99-01-08';
  214. </sql-statement>
  215. -stdin-:<main>: Fatal: Execution
  216. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  217. SELECT date '99-01-08';
  218. ^
  219. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99-01-08"
  220. HINT: Perhaps you need a different "datestyle" setting.
  221. SELECT date '99-01-08';
  222. ^
  223. <sql-statement>
  224. SELECT date '1999-01-08';
  225. </sql-statement>
  226. <sql-statement>
  227. SELECT date '08-01-99';
  228. </sql-statement>
  229. <sql-statement>
  230. SELECT date '08-01-1999';
  231. </sql-statement>
  232. <sql-statement>
  233. SELECT date '01-08-99';
  234. </sql-statement>
  235. <sql-statement>
  236. SELECT date '01-08-1999';
  237. </sql-statement>
  238. <sql-statement>
  239. SELECT date '99-08-01';
  240. </sql-statement>
  241. -stdin-:<main>: Fatal: Execution
  242. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  243. SELECT date '99-08-01';
  244. ^
  245. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99-08-01"
  246. HINT: Perhaps you need a different "datestyle" setting.
  247. SELECT date '99-08-01';
  248. ^
  249. <sql-statement>
  250. SELECT date '1999-08-01';
  251. </sql-statement>
  252. <sql-statement>
  253. SELECT date '99 01 08';
  254. </sql-statement>
  255. -stdin-:<main>: Fatal: Execution
  256. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  257. SELECT date '99 01 08';
  258. ^
  259. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99 01 08"
  260. HINT: Perhaps you need a different "datestyle" setting.
  261. SELECT date '99 01 08';
  262. ^
  263. <sql-statement>
  264. SELECT date '1999 01 08';
  265. </sql-statement>
  266. <sql-statement>
  267. SELECT date '08 01 99';
  268. </sql-statement>
  269. <sql-statement>
  270. SELECT date '08 01 1999';
  271. </sql-statement>
  272. <sql-statement>
  273. SELECT date '01 08 99';
  274. </sql-statement>
  275. <sql-statement>
  276. SELECT date '01 08 1999';
  277. </sql-statement>
  278. <sql-statement>
  279. SELECT date '99 08 01';
  280. </sql-statement>
  281. -stdin-:<main>: Fatal: Execution
  282. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  283. SELECT date '99 08 01';
  284. ^
  285. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99 08 01"
  286. HINT: Perhaps you need a different "datestyle" setting.
  287. SELECT date '99 08 01';
  288. ^
  289. <sql-statement>
  290. SELECT date '1999 08 01';
  291. </sql-statement>
  292. <sql-statement>
  293. SET datestyle TO dmy;
  294. </sql-statement>
  295. <sql-statement>
  296. SELECT date 'January 8, 1999';
  297. </sql-statement>
  298. <sql-statement>
  299. SELECT date '1999-01-08';
  300. </sql-statement>
  301. <sql-statement>
  302. SELECT date '1999-01-18';
  303. </sql-statement>
  304. <sql-statement>
  305. SELECT date '1/8/1999';
  306. </sql-statement>
  307. <sql-statement>
  308. SELECT date '1/18/1999';
  309. </sql-statement>
  310. <sql-statement>
  311. SELECT date '18/1/1999';
  312. </sql-statement>
  313. -stdin-:<main>: Fatal: Execution
  314. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  315. SELECT date '18/1/1999';
  316. ^
  317. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "18/1/1999"
  318. HINT: Perhaps you need a different "datestyle" setting.
  319. SELECT date '18/1/1999';
  320. ^
  321. <sql-statement>
  322. SELECT date '01/02/03';
  323. </sql-statement>
  324. <sql-statement>
  325. SELECT date '19990108';
  326. </sql-statement>
  327. <sql-statement>
  328. SELECT date '990108';
  329. </sql-statement>
  330. <sql-statement>
  331. SELECT date '1999.008';
  332. </sql-statement>
  333. <sql-statement>
  334. SELECT date 'J2451187';
  335. </sql-statement>
  336. <sql-statement>
  337. SELECT date 'January 8, 99 BC';
  338. </sql-statement>
  339. <sql-statement>
  340. SELECT date '99-Jan-08';
  341. </sql-statement>
  342. -stdin-:<main>: Fatal: Execution
  343. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  344. SELECT date '99-Jan-08';
  345. ^
  346. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99-Jan-08"
  347. HINT: Perhaps you need a different "datestyle" setting.
  348. SELECT date '99-Jan-08';
  349. ^
  350. <sql-statement>
  351. SELECT date '1999-Jan-08';
  352. </sql-statement>
  353. <sql-statement>
  354. SELECT date '08-Jan-99';
  355. </sql-statement>
  356. <sql-statement>
  357. SELECT date '08-Jan-1999';
  358. </sql-statement>
  359. <sql-statement>
  360. SELECT date 'Jan-08-99';
  361. </sql-statement>
  362. <sql-statement>
  363. SELECT date 'Jan-08-1999';
  364. </sql-statement>
  365. <sql-statement>
  366. SELECT date '99-08-Jan';
  367. </sql-statement>
  368. -stdin-:<main>: Fatal: Execution
  369. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  370. SELECT date '99-08-Jan';
  371. ^
  372. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "99-08-Jan"
  373. SELECT date '99-08-Jan';
  374. ^
  375. <sql-statement>
  376. SELECT date '1999-08-Jan';
  377. </sql-statement>
  378. -stdin-:<main>: Fatal: Execution
  379. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  380. SELECT date '1999-08-Jan';
  381. ^
  382. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "1999-08-Jan"
  383. SELECT date '1999-08-Jan';
  384. ^
  385. <sql-statement>
  386. SELECT date '99 Jan 08';
  387. </sql-statement>
  388. -stdin-:<main>: Fatal: Execution
  389. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  390. SELECT date '99 Jan 08';
  391. ^
  392. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "99 Jan 08"
  393. SELECT date '99 Jan 08';
  394. ^
  395. <sql-statement>
  396. SELECT date '1999 Jan 08';
  397. </sql-statement>
  398. <sql-statement>
  399. SELECT date '08 Jan 99';
  400. </sql-statement>
  401. <sql-statement>
  402. SELECT date '08 Jan 1999';
  403. </sql-statement>
  404. <sql-statement>
  405. SELECT date 'Jan 08 99';
  406. </sql-statement>
  407. <sql-statement>
  408. SELECT date 'Jan 08 1999';
  409. </sql-statement>
  410. <sql-statement>
  411. SELECT date '99 08 Jan';
  412. </sql-statement>
  413. -stdin-:<main>: Fatal: Execution
  414. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  415. SELECT date '99 08 Jan';
  416. ^
  417. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "99 08 Jan"
  418. SELECT date '99 08 Jan';
  419. ^
  420. <sql-statement>
  421. SELECT date '1999 08 Jan';
  422. </sql-statement>
  423. <sql-statement>
  424. SELECT date '99-01-08';
  425. </sql-statement>
  426. -stdin-:<main>: Fatal: Execution
  427. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  428. SELECT date '99-01-08';
  429. ^
  430. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99-01-08"
  431. HINT: Perhaps you need a different "datestyle" setting.
  432. SELECT date '99-01-08';
  433. ^
  434. <sql-statement>
  435. SELECT date '1999-01-08';
  436. </sql-statement>
  437. <sql-statement>
  438. SELECT date '08-01-99';
  439. </sql-statement>
  440. <sql-statement>
  441. SELECT date '08-01-1999';
  442. </sql-statement>
  443. <sql-statement>
  444. SELECT date '01-08-99';
  445. </sql-statement>
  446. <sql-statement>
  447. SELECT date '01-08-1999';
  448. </sql-statement>
  449. <sql-statement>
  450. SELECT date '99-08-01';
  451. </sql-statement>
  452. -stdin-:<main>: Fatal: Execution
  453. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  454. SELECT date '99-08-01';
  455. ^
  456. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99-08-01"
  457. HINT: Perhaps you need a different "datestyle" setting.
  458. SELECT date '99-08-01';
  459. ^
  460. <sql-statement>
  461. SELECT date '1999-08-01';
  462. </sql-statement>
  463. <sql-statement>
  464. SELECT date '99 01 08';
  465. </sql-statement>
  466. -stdin-:<main>: Fatal: Execution
  467. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  468. SELECT date '99 01 08';
  469. ^
  470. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99 01 08"
  471. HINT: Perhaps you need a different "datestyle" setting.
  472. SELECT date '99 01 08';
  473. ^
  474. <sql-statement>
  475. SELECT date '1999 01 08';
  476. </sql-statement>
  477. <sql-statement>
  478. SELECT date '08 01 99';
  479. </sql-statement>
  480. <sql-statement>
  481. SELECT date '08 01 1999';
  482. </sql-statement>
  483. <sql-statement>
  484. SELECT date '01 08 99';
  485. </sql-statement>
  486. <sql-statement>
  487. SELECT date '01 08 1999';
  488. </sql-statement>
  489. <sql-statement>
  490. SELECT date '99 08 01';
  491. </sql-statement>
  492. -stdin-:<main>: Fatal: Execution
  493. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  494. SELECT date '99 08 01';
  495. ^
  496. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99 08 01"
  497. HINT: Perhaps you need a different "datestyle" setting.
  498. SELECT date '99 08 01';
  499. ^
  500. <sql-statement>
  501. SELECT date '1999 08 01';
  502. </sql-statement>
  503. <sql-statement>
  504. SET datestyle TO mdy;
  505. </sql-statement>
  506. <sql-statement>
  507. SELECT date 'January 8, 1999';
  508. </sql-statement>
  509. <sql-statement>
  510. SELECT date '1999-01-08';
  511. </sql-statement>
  512. <sql-statement>
  513. SELECT date '1999-01-18';
  514. </sql-statement>
  515. <sql-statement>
  516. SELECT date '1/8/1999';
  517. </sql-statement>
  518. <sql-statement>
  519. SELECT date '1/18/1999';
  520. </sql-statement>
  521. <sql-statement>
  522. SELECT date '18/1/1999';
  523. </sql-statement>
  524. -stdin-:<main>: Fatal: Execution
  525. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  526. SELECT date '18/1/1999';
  527. ^
  528. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "18/1/1999"
  529. HINT: Perhaps you need a different "datestyle" setting.
  530. SELECT date '18/1/1999';
  531. ^
  532. <sql-statement>
  533. SELECT date '01/02/03';
  534. </sql-statement>
  535. <sql-statement>
  536. SELECT date '19990108';
  537. </sql-statement>
  538. <sql-statement>
  539. SELECT date '990108';
  540. </sql-statement>
  541. <sql-statement>
  542. SELECT date '1999.008';
  543. </sql-statement>
  544. <sql-statement>
  545. SELECT date 'J2451187';
  546. </sql-statement>
  547. <sql-statement>
  548. SELECT date 'January 8, 99 BC';
  549. </sql-statement>
  550. <sql-statement>
  551. SELECT date '99-Jan-08';
  552. </sql-statement>
  553. -stdin-:<main>: Fatal: Execution
  554. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  555. SELECT date '99-Jan-08';
  556. ^
  557. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99-Jan-08"
  558. HINT: Perhaps you need a different "datestyle" setting.
  559. SELECT date '99-Jan-08';
  560. ^
  561. <sql-statement>
  562. SELECT date '1999-Jan-08';
  563. </sql-statement>
  564. <sql-statement>
  565. SELECT date '08-Jan-99';
  566. </sql-statement>
  567. <sql-statement>
  568. SELECT date '08-Jan-1999';
  569. </sql-statement>
  570. <sql-statement>
  571. SELECT date 'Jan-08-99';
  572. </sql-statement>
  573. <sql-statement>
  574. SELECT date 'Jan-08-1999';
  575. </sql-statement>
  576. <sql-statement>
  577. SELECT date '99-08-Jan';
  578. </sql-statement>
  579. -stdin-:<main>: Fatal: Execution
  580. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  581. SELECT date '99-08-Jan';
  582. ^
  583. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "99-08-Jan"
  584. SELECT date '99-08-Jan';
  585. ^
  586. <sql-statement>
  587. SELECT date '1999-08-Jan';
  588. </sql-statement>
  589. -stdin-:<main>: Fatal: Execution
  590. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  591. SELECT date '1999-08-Jan';
  592. ^
  593. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "1999-08-Jan"
  594. SELECT date '1999-08-Jan';
  595. ^
  596. <sql-statement>
  597. SELECT date '99 Jan 08';
  598. </sql-statement>
  599. -stdin-:<main>: Fatal: Execution
  600. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  601. SELECT date '99 Jan 08';
  602. ^
  603. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "99 Jan 08"
  604. SELECT date '99 Jan 08';
  605. ^
  606. <sql-statement>
  607. SELECT date '1999 Jan 08';
  608. </sql-statement>
  609. <sql-statement>
  610. SELECT date '08 Jan 99';
  611. </sql-statement>
  612. <sql-statement>
  613. SELECT date '08 Jan 1999';
  614. </sql-statement>
  615. <sql-statement>
  616. SELECT date 'Jan 08 99';
  617. </sql-statement>
  618. <sql-statement>
  619. SELECT date 'Jan 08 1999';
  620. </sql-statement>
  621. <sql-statement>
  622. SELECT date '99 08 Jan';
  623. </sql-statement>
  624. -stdin-:<main>: Fatal: Execution
  625. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  626. SELECT date '99 08 Jan';
  627. ^
  628. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type date: "99 08 Jan"
  629. SELECT date '99 08 Jan';
  630. ^
  631. <sql-statement>
  632. SELECT date '1999 08 Jan';
  633. </sql-statement>
  634. <sql-statement>
  635. SELECT date '99-01-08';
  636. </sql-statement>
  637. -stdin-:<main>: Fatal: Execution
  638. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  639. SELECT date '99-01-08';
  640. ^
  641. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99-01-08"
  642. HINT: Perhaps you need a different "datestyle" setting.
  643. SELECT date '99-01-08';
  644. ^
  645. <sql-statement>
  646. SELECT date '1999-01-08';
  647. </sql-statement>
  648. <sql-statement>
  649. SELECT date '08-01-99';
  650. </sql-statement>
  651. <sql-statement>
  652. SELECT date '08-01-1999';
  653. </sql-statement>
  654. <sql-statement>
  655. SELECT date '01-08-99';
  656. </sql-statement>
  657. <sql-statement>
  658. SELECT date '01-08-1999';
  659. </sql-statement>
  660. <sql-statement>
  661. SELECT date '99-08-01';
  662. </sql-statement>
  663. -stdin-:<main>: Fatal: Execution
  664. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  665. SELECT date '99-08-01';
  666. ^
  667. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99-08-01"
  668. HINT: Perhaps you need a different "datestyle" setting.
  669. SELECT date '99-08-01';
  670. ^
  671. <sql-statement>
  672. SELECT date '1999-08-01';
  673. </sql-statement>
  674. <sql-statement>
  675. SELECT date '99 01 08';
  676. </sql-statement>
  677. -stdin-:<main>: Fatal: Execution
  678. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  679. SELECT date '99 01 08';
  680. ^
  681. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99 01 08"
  682. HINT: Perhaps you need a different "datestyle" setting.
  683. SELECT date '99 01 08';
  684. ^
  685. <sql-statement>
  686. SELECT date '1999 01 08';
  687. </sql-statement>
  688. <sql-statement>
  689. SELECT date '08 01 99';
  690. </sql-statement>
  691. <sql-statement>
  692. SELECT date '08 01 1999';
  693. </sql-statement>
  694. <sql-statement>
  695. SELECT date '01 08 99';
  696. </sql-statement>
  697. <sql-statement>
  698. SELECT date '01 08 1999';
  699. </sql-statement>
  700. <sql-statement>
  701. SELECT date '99 08 01';
  702. </sql-statement>
  703. -stdin-:<main>: Fatal: Execution
  704. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  705. SELECT date '99 08 01';
  706. ^
  707. -stdin-:<main>:1:1: Fatal: ERROR: date/time field value out of range: "99 08 01"
  708. HINT: Perhaps you need a different "datestyle" setting.
  709. SELECT date '99 08 01';
  710. ^
  711. <sql-statement>
  712. SELECT date '1999 08 01';
  713. </sql-statement>
  714. <sql-statement>
  715. -- Check upper and lower limits of date range
  716. SELECT date '4714-11-24 BC';
  717. </sql-statement>
  718. <sql-statement>
  719. SELECT date '4714-11-23 BC'; -- out of range
  720. </sql-statement>
  721. -stdin-:<main>: Fatal: Execution
  722. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  723. SELECT date '4714-11-23 BC'; -- out of range
  724. ^
  725. -stdin-:<main>:1:1: Fatal: ERROR: date out of range: "4714-11-23 BC"
  726. SELECT date '4714-11-23 BC'; -- out of range
  727. ^
  728. <sql-statement>
  729. SELECT date '5874897-12-31';
  730. </sql-statement>
  731. <sql-statement>
  732. SELECT date '5874898-01-01'; -- out of range
  733. </sql-statement>
  734. -stdin-:<main>: Fatal: Execution
  735. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  736. SELECT date '5874898-01-01'; -- out of range
  737. ^
  738. -stdin-:<main>:1:1: Fatal: ERROR: date out of range: "5874898-01-01"
  739. SELECT date '5874898-01-01'; -- out of range
  740. ^
  741. <sql-statement>
  742. RESET datestyle;
  743. </sql-statement>
  744. <sql-statement>
  745. --
  746. -- Simple math
  747. -- Leave most of it for the horology tests
  748. --
  749. SELECT f1 - date '2000-01-01' AS "Days From 2K" FROM DATE_TBL;
  750. </sql-statement>
  751. <sql-statement>
  752. SELECT f1 - date 'epoch' AS "Days From Epoch" FROM DATE_TBL;
  753. </sql-statement>
  754. <sql-statement>
  755. SELECT date 'yesterday' - date 'today' AS "One day";
  756. </sql-statement>
  757. <sql-statement>
  758. SELECT date 'today' - date 'tomorrow' AS "One day";
  759. </sql-statement>
  760. <sql-statement>
  761. SELECT date 'yesterday' - date 'tomorrow' AS "Two days";
  762. </sql-statement>
  763. <sql-statement>
  764. SELECT date 'tomorrow' - date 'today' AS "One day";
  765. </sql-statement>
  766. <sql-statement>
  767. SELECT date 'today' - date 'yesterday' AS "One day";
  768. </sql-statement>
  769. <sql-statement>
  770. SELECT date 'tomorrow' - date 'yesterday' AS "Two days";
  771. </sql-statement>
  772. <sql-statement>
  773. --
  774. -- test extract!
  775. --
  776. SELECT f1 as "date",
  777. date_part('year', f1) AS year,
  778. date_part('month', f1) AS month,
  779. date_part('day', f1) AS day,
  780. date_part('quarter', f1) AS quarter,
  781. date_part('decade', f1) AS decade,
  782. date_part('century', f1) AS century,
  783. date_part('millennium', f1) AS millennium,
  784. date_part('isoyear', f1) AS isoyear,
  785. date_part('week', f1) AS week,
  786. date_part('dow', f1) AS dow,
  787. date_part('isodow', f1) AS isodow,
  788. date_part('doy', f1) AS doy,
  789. date_part('julian', f1) AS julian,
  790. date_part('epoch', f1) AS epoch
  791. FROM date_tbl;
  792. </sql-statement>
  793. -stdin-:<main>: Fatal: Table metadata loading
  794. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.date_tbl
  795. <sql-statement>
  796. --
  797. -- epoch
  798. --
  799. SELECT EXTRACT(EPOCH FROM DATE '1970-01-01'); -- 0
  800. </sql-statement>
  801. <sql-statement>
  802. --
  803. -- century
  804. --
  805. SELECT EXTRACT(CENTURY FROM DATE '0101-12-31 BC'); -- -2
  806. </sql-statement>
  807. <sql-statement>
  808. SELECT EXTRACT(CENTURY FROM DATE '0100-12-31 BC'); -- -1
  809. </sql-statement>
  810. <sql-statement>
  811. SELECT EXTRACT(CENTURY FROM DATE '0001-12-31 BC'); -- -1
  812. </sql-statement>
  813. <sql-statement>
  814. SELECT EXTRACT(CENTURY FROM DATE '0001-01-01'); -- 1
  815. </sql-statement>
  816. <sql-statement>
  817. SELECT EXTRACT(CENTURY FROM DATE '0001-01-01 AD'); -- 1
  818. </sql-statement>
  819. <sql-statement>
  820. SELECT EXTRACT(CENTURY FROM DATE '1900-12-31'); -- 19
  821. </sql-statement>
  822. <sql-statement>
  823. SELECT EXTRACT(CENTURY FROM DATE '1901-01-01'); -- 20
  824. </sql-statement>
  825. <sql-statement>
  826. SELECT EXTRACT(CENTURY FROM DATE '2000-12-31'); -- 20
  827. </sql-statement>
  828. <sql-statement>
  829. SELECT EXTRACT(CENTURY FROM DATE '2001-01-01'); -- 21
  830. </sql-statement>
  831. <sql-statement>
  832. SELECT EXTRACT(CENTURY FROM CURRENT_DATE)>=21 AS True; -- true
  833. </sql-statement>
  834. <sql-statement>
  835. --
  836. -- millennium
  837. --
  838. SELECT EXTRACT(MILLENNIUM FROM DATE '0001-12-31 BC'); -- -1
  839. </sql-statement>
  840. <sql-statement>
  841. SELECT EXTRACT(MILLENNIUM FROM DATE '0001-01-01 AD'); -- 1
  842. </sql-statement>
  843. <sql-statement>
  844. SELECT EXTRACT(MILLENNIUM FROM DATE '1000-12-31'); -- 1
  845. </sql-statement>
  846. <sql-statement>
  847. SELECT EXTRACT(MILLENNIUM FROM DATE '1001-01-01'); -- 2
  848. </sql-statement>
  849. <sql-statement>
  850. SELECT EXTRACT(MILLENNIUM FROM DATE '2000-12-31'); -- 2
  851. </sql-statement>
  852. <sql-statement>
  853. SELECT EXTRACT(MILLENNIUM FROM DATE '2001-01-01'); -- 3
  854. </sql-statement>
  855. <sql-statement>
  856. -- next test to be fixed on the turn of the next millennium;-)
  857. SELECT EXTRACT(MILLENNIUM FROM CURRENT_DATE); -- 3
  858. </sql-statement>
  859. <sql-statement>
  860. --
  861. -- decade
  862. --
  863. SELECT EXTRACT(DECADE FROM DATE '1994-12-25'); -- 199
  864. </sql-statement>
  865. <sql-statement>
  866. SELECT EXTRACT(DECADE FROM DATE '0010-01-01'); -- 1
  867. </sql-statement>
  868. <sql-statement>
  869. SELECT EXTRACT(DECADE FROM DATE '0009-12-31'); -- 0
  870. </sql-statement>
  871. <sql-statement>
  872. SELECT EXTRACT(DECADE FROM DATE '0001-01-01 BC'); -- 0
  873. </sql-statement>
  874. <sql-statement>
  875. SELECT EXTRACT(DECADE FROM DATE '0002-12-31 BC'); -- -1
  876. </sql-statement>
  877. <sql-statement>
  878. SELECT EXTRACT(DECADE FROM DATE '0011-01-01 BC'); -- -1
  879. </sql-statement>
  880. <sql-statement>
  881. SELECT EXTRACT(DECADE FROM DATE '0012-12-31 BC'); -- -2
  882. </sql-statement>
  883. <sql-statement>
  884. --
  885. -- all possible fields
  886. --
  887. SELECT EXTRACT(MICROSECONDS FROM DATE '2020-08-11');
  888. </sql-statement>
  889. -stdin-:<main>: Fatal: Execution
  890. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  891. --
  892. ^
  893. -stdin-:<main>:1:1: Fatal: ERROR: date units "microseconds" not supported
  894. --
  895. ^
  896. <sql-statement>
  897. SELECT EXTRACT(MILLISECONDS FROM DATE '2020-08-11');
  898. </sql-statement>
  899. -stdin-:<main>: Fatal: Execution
  900. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  901. SELECT EXTRACT(MILLISECONDS FROM DATE '2020-08-11');
  902. ^
  903. -stdin-:<main>:1:1: Fatal: ERROR: date units "milliseconds" not supported
  904. SELECT EXTRACT(MILLISECONDS FROM DATE '2020-08-11');
  905. ^
  906. <sql-statement>
  907. SELECT EXTRACT(SECOND FROM DATE '2020-08-11');
  908. </sql-statement>
  909. -stdin-:<main>: Fatal: Execution
  910. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  911. SELECT EXTRACT(SECOND FROM DATE '2020-08-11');
  912. ^
  913. -stdin-:<main>:1:1: Fatal: ERROR: date units "second" not supported
  914. SELECT EXTRACT(SECOND FROM DATE '2020-08-11');
  915. ^
  916. <sql-statement>
  917. SELECT EXTRACT(MINUTE FROM DATE '2020-08-11');
  918. </sql-statement>
  919. -stdin-:<main>: Fatal: Execution
  920. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  921. SELECT EXTRACT(MINUTE FROM DATE '2020-08-11');
  922. ^
  923. -stdin-:<main>:1:1: Fatal: ERROR: date units "minute" not supported
  924. SELECT EXTRACT(MINUTE FROM DATE '2020-08-11');
  925. ^
  926. <sql-statement>
  927. SELECT EXTRACT(HOUR FROM DATE '2020-08-11');
  928. </sql-statement>
  929. -stdin-:<main>: Fatal: Execution
  930. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  931. SELECT EXTRACT(HOUR FROM DATE '2020-08-11');
  932. ^
  933. -stdin-:<main>:1:1: Fatal: ERROR: date units "hour" not supported
  934. SELECT EXTRACT(HOUR FROM DATE '2020-08-11');
  935. ^
  936. <sql-statement>
  937. SELECT EXTRACT(DAY FROM DATE '2020-08-11');
  938. </sql-statement>
  939. <sql-statement>
  940. SELECT EXTRACT(MONTH FROM DATE '2020-08-11');
  941. </sql-statement>
  942. <sql-statement>
  943. SELECT EXTRACT(YEAR FROM DATE '2020-08-11');
  944. </sql-statement>
  945. <sql-statement>
  946. SELECT EXTRACT(YEAR FROM DATE '2020-08-11 BC');
  947. </sql-statement>
  948. <sql-statement>
  949. SELECT EXTRACT(DECADE FROM DATE '2020-08-11');
  950. </sql-statement>
  951. <sql-statement>
  952. SELECT EXTRACT(CENTURY FROM DATE '2020-08-11');
  953. </sql-statement>
  954. <sql-statement>
  955. SELECT EXTRACT(MILLENNIUM FROM DATE '2020-08-11');
  956. </sql-statement>
  957. <sql-statement>
  958. SELECT EXTRACT(ISOYEAR FROM DATE '2020-08-11');
  959. </sql-statement>
  960. <sql-statement>
  961. SELECT EXTRACT(ISOYEAR FROM DATE '2020-08-11 BC');
  962. </sql-statement>
  963. <sql-statement>
  964. SELECT EXTRACT(QUARTER FROM DATE '2020-08-11');
  965. </sql-statement>
  966. <sql-statement>
  967. SELECT EXTRACT(WEEK FROM DATE '2020-08-11');
  968. </sql-statement>
  969. <sql-statement>
  970. SELECT EXTRACT(DOW FROM DATE '2020-08-11');
  971. </sql-statement>
  972. <sql-statement>
  973. SELECT EXTRACT(DOW FROM DATE '2020-08-16');
  974. </sql-statement>
  975. <sql-statement>
  976. SELECT EXTRACT(ISODOW FROM DATE '2020-08-11');
  977. </sql-statement>
  978. <sql-statement>
  979. SELECT EXTRACT(ISODOW FROM DATE '2020-08-16');
  980. </sql-statement>
  981. <sql-statement>
  982. SELECT EXTRACT(DOY FROM DATE '2020-08-11');
  983. </sql-statement>
  984. <sql-statement>
  985. SELECT EXTRACT(TIMEZONE FROM DATE '2020-08-11');
  986. </sql-statement>
  987. -stdin-:<main>: Fatal: Execution
  988. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  989. SELECT EXTRACT(TIMEZONE FROM DATE '2020-08-11');
  990. ^
  991. -stdin-:<main>:1:1: Fatal: ERROR: date units "timezone" not supported
  992. SELECT EXTRACT(TIMEZONE FROM DATE '2020-08-11');
  993. ^
  994. <sql-statement>
  995. SELECT EXTRACT(TIMEZONE_M FROM DATE '2020-08-11');
  996. </sql-statement>
  997. -stdin-:<main>: Fatal: Execution
  998. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  999. SELECT EXTRACT(TIMEZONE_M FROM DATE '2020-08-11');
  1000. ^
  1001. -stdin-:<main>:1:1: Fatal: ERROR: date units "timezone_m" not supported
  1002. SELECT EXTRACT(TIMEZONE_M FROM DATE '2020-08-11');
  1003. ^
  1004. <sql-statement>
  1005. SELECT EXTRACT(TIMEZONE_H FROM DATE '2020-08-11');
  1006. </sql-statement>
  1007. -stdin-:<main>: Fatal: Execution
  1008. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1009. SELECT EXTRACT(TIMEZONE_H FROM DATE '2020-08-11');
  1010. ^
  1011. -stdin-:<main>:1:1: Fatal: ERROR: date units "timezone_h" not supported
  1012. SELECT EXTRACT(TIMEZONE_H FROM DATE '2020-08-11');
  1013. ^
  1014. <sql-statement>
  1015. SELECT EXTRACT(EPOCH FROM DATE '2020-08-11');
  1016. </sql-statement>
  1017. <sql-statement>
  1018. SELECT EXTRACT(JULIAN FROM DATE '2020-08-11');
  1019. </sql-statement>
  1020. <sql-statement>
  1021. --
  1022. -- test trunc function!
  1023. --
  1024. SELECT DATE_TRUNC('MILLENNIUM', TIMESTAMP '1970-03-20 04:30:00.00000'); -- 1001
  1025. </sql-statement>
  1026. <sql-statement>
  1027. SELECT DATE_TRUNC('MILLENNIUM', DATE '1970-03-20'); -- 1001-01-01
  1028. </sql-statement>
  1029. <sql-statement>
  1030. SELECT DATE_TRUNC('CENTURY', TIMESTAMP '1970-03-20 04:30:00.00000'); -- 1901
  1031. </sql-statement>
  1032. <sql-statement>
  1033. SELECT DATE_TRUNC('CENTURY', DATE '1970-03-20'); -- 1901
  1034. </sql-statement>
  1035. <sql-statement>
  1036. SELECT DATE_TRUNC('CENTURY', DATE '2004-08-10'); -- 2001-01-01
  1037. </sql-statement>
  1038. <sql-statement>
  1039. SELECT DATE_TRUNC('CENTURY', DATE '0002-02-04'); -- 0001-01-01
  1040. </sql-statement>
  1041. <sql-statement>
  1042. SELECT DATE_TRUNC('CENTURY', DATE '0055-08-10 BC'); -- 0100-01-01 BC
  1043. </sql-statement>
  1044. <sql-statement>
  1045. SELECT DATE_TRUNC('DECADE', DATE '1993-12-25'); -- 1990-01-01
  1046. </sql-statement>
  1047. <sql-statement>
  1048. SELECT DATE_TRUNC('DECADE', DATE '0004-12-25'); -- 0001-01-01 BC
  1049. </sql-statement>
  1050. <sql-statement>
  1051. SELECT DATE_TRUNC('DECADE', DATE '0002-12-31 BC'); -- 0011-01-01 BC
  1052. </sql-statement>
  1053. <sql-statement>
  1054. --
  1055. -- test infinity
  1056. --
  1057. select 'infinity'::date, '-infinity'::date;
  1058. </sql-statement>
  1059. <sql-statement>
  1060. select 'infinity'::date > 'today'::date as t;
  1061. </sql-statement>
  1062. <sql-statement>
  1063. select '-infinity'::date < 'today'::date as t;
  1064. </sql-statement>
  1065. <sql-statement>
  1066. select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'::date);
  1067. </sql-statement>
  1068. -stdin-:<main>: Error: Type annotation
  1069. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  1070. select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'::date);
  1071. ^
  1072. -stdin-:<main>:1:1: Error: Duplicated member: isfinite
  1073. select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'::date);
  1074. ^
  1075. <sql-statement>
  1076. --
  1077. -- oscillating fields from non-finite date:
  1078. --
  1079. SELECT EXTRACT(DAY FROM DATE 'infinity'); -- NULL
  1080. </sql-statement>
  1081. <sql-statement>
  1082. SELECT EXTRACT(DAY FROM DATE '-infinity'); -- NULL
  1083. </sql-statement>
  1084. <sql-statement>
  1085. -- all supported fields
  1086. SELECT EXTRACT(DAY FROM DATE 'infinity'); -- NULL
  1087. </sql-statement>
  1088. <sql-statement>
  1089. SELECT EXTRACT(MONTH FROM DATE 'infinity'); -- NULL
  1090. </sql-statement>
  1091. <sql-statement>
  1092. SELECT EXTRACT(QUARTER FROM DATE 'infinity'); -- NULL
  1093. </sql-statement>
  1094. <sql-statement>
  1095. SELECT EXTRACT(WEEK FROM DATE 'infinity'); -- NULL
  1096. </sql-statement>
  1097. <sql-statement>
  1098. SELECT EXTRACT(DOW FROM DATE 'infinity'); -- NULL
  1099. </sql-statement>
  1100. <sql-statement>
  1101. SELECT EXTRACT(ISODOW FROM DATE 'infinity'); -- NULL
  1102. </sql-statement>
  1103. <sql-statement>
  1104. SELECT EXTRACT(DOY FROM DATE 'infinity'); -- NULL
  1105. </sql-statement>
  1106. <sql-statement>
  1107. --
  1108. -- monotonic fields from non-finite date:
  1109. --
  1110. SELECT EXTRACT(EPOCH FROM DATE 'infinity'); -- Infinity
  1111. </sql-statement>
  1112. <sql-statement>
  1113. SELECT EXTRACT(EPOCH FROM DATE '-infinity'); -- -Infinity
  1114. </sql-statement>
  1115. <sql-statement>
  1116. -- all supported fields
  1117. SELECT EXTRACT(YEAR FROM DATE 'infinity'); -- Infinity
  1118. </sql-statement>
  1119. <sql-statement>
  1120. SELECT EXTRACT(DECADE FROM DATE 'infinity'); -- Infinity
  1121. </sql-statement>
  1122. <sql-statement>
  1123. SELECT EXTRACT(CENTURY FROM DATE 'infinity'); -- Infinity
  1124. </sql-statement>
  1125. <sql-statement>
  1126. SELECT EXTRACT(MILLENNIUM FROM DATE 'infinity'); -- Infinity
  1127. </sql-statement>
  1128. <sql-statement>
  1129. SELECT EXTRACT(JULIAN FROM DATE 'infinity'); -- Infinity
  1130. </sql-statement>
  1131. <sql-statement>
  1132. SELECT EXTRACT(ISOYEAR FROM DATE 'infinity'); -- Infinity
  1133. </sql-statement>
  1134. <sql-statement>
  1135. SELECT EXTRACT(EPOCH FROM DATE 'infinity'); -- Infinity
  1136. </sql-statement>
  1137. <sql-statement>
  1138. --
  1139. -- wrong fields from non-finite date:
  1140. --
  1141. SELECT EXTRACT(MICROSEC FROM DATE 'infinity'); -- error
  1142. </sql-statement>
  1143. -stdin-:<main>: Fatal: Execution
  1144. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1145. --
  1146. ^
  1147. -stdin-:<main>:1:1: Fatal: ERROR: date units "microsec" not recognized
  1148. --
  1149. ^
  1150. <sql-statement>
  1151. -- test constructors
  1152. select make_date(2013, 7, 15);
  1153. </sql-statement>
  1154. <sql-statement>
  1155. select make_date(-44, 3, 15);
  1156. </sql-statement>
  1157. <sql-statement>
  1158. select make_time(8, 20, 0.0);
  1159. </sql-statement>
  1160. <sql-statement>
  1161. -- should fail
  1162. select make_date(0, 7, 15);
  1163. </sql-statement>
  1164. -stdin-:<main>: Fatal: Execution
  1165. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1166. -- should fail
  1167. ^
  1168. -stdin-:<main>:1:1: Fatal: ERROR: date field value out of range: 0-07-15
  1169. -- should fail
  1170. ^
  1171. <sql-statement>
  1172. select make_date(2013, 2, 30);
  1173. </sql-statement>
  1174. -stdin-:<main>: Fatal: Execution
  1175. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1176. select make_date(2013, 2, 30);
  1177. ^
  1178. -stdin-:<main>:1:1: Fatal: ERROR: date field value out of range: 2013-02-30
  1179. select make_date(2013, 2, 30);
  1180. ^
  1181. <sql-statement>
  1182. select make_date(2013, 13, 1);
  1183. </sql-statement>
  1184. -stdin-:<main>: Fatal: Execution
  1185. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1186. select make_date(2013, 13, 1);
  1187. ^
  1188. -stdin-:<main>:1:1: Fatal: ERROR: date field value out of range: 2013-13-01
  1189. select make_date(2013, 13, 1);
  1190. ^
  1191. <sql-statement>
  1192. select make_date(2013, 11, -1);
  1193. </sql-statement>
  1194. -stdin-:<main>: Fatal: Execution
  1195. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1196. select make_date(2013, 11, -1);
  1197. ^
  1198. -stdin-:<main>:1:1: Fatal: ERROR: date field value out of range: 2013-11--1
  1199. select make_date(2013, 11, -1);
  1200. ^
  1201. <sql-statement>
  1202. select make_time(10, 55, 100.1);
  1203. </sql-statement>
  1204. -stdin-:<main>: Fatal: Execution
  1205. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1206. select make_time(10, 55, 100.1);
  1207. ^
  1208. -stdin-:<main>:1:1: Fatal: ERROR: time field value out of range: 10:55:100.1
  1209. select make_time(10, 55, 100.1);
  1210. ^
  1211. <sql-statement>
  1212. select make_time(24, 0, 2.1);
  1213. </sql-statement>
  1214. -stdin-:<main>: Fatal: Execution
  1215. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  1216. select make_time(24, 0, 2.1);
  1217. ^
  1218. -stdin-:<main>:1:1: Fatal: ERROR: time field value out of range: 24:00:2.1
  1219. select make_time(24, 0, 2.1);
  1220. ^