Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Работа с Datetime и Date  [new]
YourKrosh
Member

Откуда:
Сообщений: 10
В БД надо реализовать следующее:
В таблице «Работник» берем поля «FIO», «Birthday», «Post», «Time_begin».Используя поле «Time_begin» и текущую дату, рассчитываем поле «Experience» для новой таблицы. Суть в том, что в sql поле даты можно задать только как datetime. Но мне нужно, чтобы была только дата без времени. Вот код функции. Как сделать переход от datetime к date?
USE [OtdelKadrov]
GO
/****** Object:  UserDefinedFunction [dbo].[Seniority]    Script Date: 05/22/2013 20:34:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER FUNCTION [dbo].[Seniority]
(	
	
)
RETURNS TABLE 
AS
RETURN 
(
	SELECT FIO,Birthday,Post,Time_begin,Experience = DateDiff(yy,Time_begin,GetDate())
	FROM dbo.Rabotnik

)


К сообщению приложен файл. Размер - 32Kb
22 май 13, 21:42    [14335587]     Ответить | Цитировать Сообщить модератору
 Re: Работа с Datetime и Date  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Просто интересно, много ли найдется ФИО в 10 символов... И, как на счет полных тёсок?

Сообщение было отредактировано: 22 май 13, 22:00
22 май 13, 21:59    [14335642]     Ответить | Цитировать Сообщить модератору
 Re: Работа с Datetime и Date  [new]
YourKrosh
Member

Откуда:
Сообщений: 10
pkarklin
Просто интересно, много ли найдется ФИО в 10 символов... И, как на счет полных тёсок?


Мне не столь это важно, так как это курсовой, и в нем не столько проверяется работа программы, сколько методика испытаний самого приложения. Важно, чтобы корректно работали функции формирования отчетов.
И насчет полных тесок: просто забыла ввести поле "Личный номер сотрудника". Он станет идентификатором каждого человека.
22 май 13, 22:03    [14335650]     Ответить | Цитировать Сообщить модератору
 Re: Работа с Datetime и Date  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
YourKrosh
Мне не столь это важно, так как это курсовой.


Тогда Вам в раздел Работа
22 май 13, 22:23    [14335697]     Ответить | Цитировать Сообщить модератору
 Re: Работа с Datetime и Date  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
YourKrosh
Суть в том, что в sql поле даты можно задать только как datetime
Это зависит от версии сервера, каковую вы держите втайне.
YourKrosh
Но мне нужно, чтобы была только дата без времени
Опять же, осуществимость этого зависит от версии сервера.
YourKrosh
Вот код функции. Как сделать переход от datetime к date?
Переход чего и где?

Сообщение было отредактировано: 22 май 13, 22:41
22 май 13, 22:28    [14335715]     Ответить | Цитировать Сообщить модератору
 Re: Работа с Datetime и Date  [new]
YourKrosh
Member

Откуда:
Сообщений: 10
invm
YourKrosh
Суть в том, что в sql поле даты можно задать только как datetime
Это зависит от версии сервера, каковую вы держите втайне.
YourKrosh
Но мне нужно, чтобы была только дата без времени
Опять же, осуществимость этого зависит от версии сервера.
YourKrosh
Вот код функции. Как сделать переход от datetime к date?
Переход чего и где?

Microsoft SQL Server Management Studio Express 9.00.4035.00
Microsoft Data Access Components (MDAC) 6.1.7600.16385 (win7_rtm.090713-1255)
Microsoft MSXML 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 9.0.8112.16421
Microsoft .NET Framework 2.0.50727.4971
Operating System 6.1.7600

Немного исправлюсь. Мне бы хотелось, чтобы с поле "Time_begin" содержалась только дата. И если там не будет времени, чтобы не выдавало ошибок в результате использования этих полей в функциях.
22 май 13, 23:07    [14335813]     Ответить | Цитировать Сообщить модератору
 Re: Работа с Datetime и Date  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
invm,
надуманная какая-то проблема
не надо тут сильно теоретизировать, начинайте писать и все получится
поле datatime хранит и дату и время, а может также хранить или дату или время по отдельности
если не нужно время то я записываю в поле например data=convert(datetime,@var,101)
если надо из getdate то например так data=convert(datetime,convert(varchar,getdate(),101),101)

хотя для вашего Experience в годах это все вообще никакой роли не играет
22 май 13, 23:17    [14335852]     Ответить | Цитировать Сообщить модератору
 Re: Работа с Datetime и Date  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
YourKrosh
Microsoft SQL Server Management Studio Express 9.00.4035.00
Microsoft Data Access Components (MDAC) 6.1.7600.16385 (win7_rtm.090713-1255)
Microsoft MSXML 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 9.0.8112.16421
Microsoft .NET Framework 2.0.50727.4971
Operating System 6.1.7600
Это версия студии, а не сервера.
YourKrosh
Немного исправлюсь. Мне бы хотелось, чтобы с поле "Time_begin" содержалась только дата. И если там не будет времени, чтобы не выдавало ошибок в результате использования этих полей в функциях.
Тип date есть в SQL Server 2008 и старше. Что за ошибки вы имеет в виду, -- вообще загадка...
22 май 13, 23:26    [14335891]     Ответить | Цитировать Сообщить модератору
 Re: Работа с Datetime и Date  [new]
YourKrosh
Member

Откуда:
Сообщений: 10
leov
invm,
надуманная какая-то проблема
не надо тут сильно теоретизировать, начинайте писать и все получится
поле datatime хранит и дату и время, а может также хранить или дату или время по отдельности
если не нужно время то я записываю в поле например data=convert(datetime,@var,101)
если надо из getdate то например так data=convert(datetime,convert(varchar,getdate(),101),101)

хотя для вашего Experience в годах это все вообще никакой роли не играет


Подсчитывает вроде бы правильно. Еще вопрос. Я с базой работаю в Visual 2010. Функция оформлена на отдельной форме как таблица, но почему-то высчитывает только первое поле.Как задать для всех? Может в коде самой формы нужно цикл организовывать?
22 май 13, 23:28    [14335897]     Ответить | Цитировать Сообщить модератору
 Re: Работа с Datetime и Date  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
YourKrosh
leov
invm,
надуманная какая-то проблема
не надо тут сильно теоретизировать, начинайте писать и все получится
поле datatime хранит и дату и время, а может также хранить или дату или время по отдельности
если не нужно время то я записываю в поле например data=convert(datetime,@var,101)
если надо из getdate то например так data=convert(datetime,convert(varchar,getdate(),101),101)

хотя для вашего Experience в годах это все вообще никакой роли не играет


Подсчитывает вроде бы правильно. Еще вопрос. Я с базой работаю в Visual 2010. Функция оформлена на отдельной форме как таблица, но почему-то высчитывает только первое поле.Как задать для всех? Может в коде самой формы нужно цикл организовывать?

с клиентом не помогу, сори
22 май 13, 23:35    [14335923]     Ответить | Цитировать Сообщить модератору
 Re: Работа с Datetime и Date  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
YourKrosh
Функция оформлена на отдельной форме как таблица, но почему-то высчитывает только первое поле.Как задать для всех? Может в коде самой формы нужно цикл организовывать?


Модератор: Настоятельно рекомендую обратиться в озвученный выше раздел Работа, ибо с таким уровнем познаний и деталей проблем здесь Вы будете непоняты.
22 май 13, 23:46    [14335953]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить