Софтуерно Инженерство
Loading...
+ Нов въпрос
StanYan avatar StanYan 6 Точки

Привет, 

В Oracle няма такава функция data_sub().

Разгледай тук какво ще ти свърши работа.

или тук  и търсиDatetime Functions

yes

0
17/09/2016 20:35:34
sharli avatar sharli 14 Точки

УСЛОВИЕТО Е СЛЕДНОТО 

  1. Изведете фамилиите и датата на постъпване на работа на всички работници, които са постъпили в първата половина на месеца (преди 16).
  2.  

 

 

0
17/09/2016 22:45:59
StanYan avatar StanYan 6 Точки

На кой месец? Всички в един и същи месец ли са постъпили или се иска за всеки отделен месец първата половина?

0
18/09/2016 14:37:37
sharli avatar sharli 14 Точки

Да селектираме всички работници които са започнали работа до 16-то число на месеца в който са постъпили.

 

0
sharli avatar sharli 14 Точки

НАЙ-ПОСЛЕ ГО РЕШИХ 

SELECT LAST_NAME, EXTRACT(DAY FROM HIRE_DATE) "DAY" 
  FROM EMPLOYEES
  WHERE  EXTRACT(DAY FROM HIRE_DATE)<16;

0
StanYan avatar StanYan 6 Точки

В такъв случай провай заявката така.

SELECT 
	EMPLOYEE_ID,
	START_DATE
FROM JOB_HISTORY
WHERE DatePart(START_DATE, DP_DAY) < 16
ORDER BY START_DATE
;

или нещо подобно. Нямам Oracle под ръка в момента за да я пробвам.

Не съм сигурен за фултъра, на различни места го пишат по различен начин, може и така да е:

DatePart(day, START_DATE) < 16

 

0
18/09/2016 20:35:33
sharli avatar sharli 14 Точки

Пробвах с datepart,но компилира че е неправилно дефинирана .Благодаря за отговора,както вече написах получи се с extract.

0