|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
Прошу не пинать, sql только начал осваивать. Прошу направить. Есть БД - в 1 поле попадает по odbc дата формата datetime (около 5-20 записей в секунду приходит) А для работы нужно только время, возможно ли сделать столбец для автоматического ОНЛАЙН заполнения значений типа Time, чтобы не конвертировать все это в коде на стороне клиента? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 22:09 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
в чем неудобство - приходит дата 1900-1-1 + время, т.е. часть даты не имеет смысла, но от нее не денешься. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 22:39 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
kvazar1977 в чем неудобство - приходит дата 1900-1-1 + время, т.е. часть даты не имеет смысла, но от нее не денешься. Просто отображать, на клиенте, время без даты ? Если "да", то просто форматируй поле в запросе-источнике Код: sql 1.
пс и, собственно, любой "уважающий себя" грид/текстбокс умеет это делать и сам ... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 22:50 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
нет, не отображать, а "иметь", у меня сотни строк кода работают в access именно со временем. Мне в sql таблице нужно поле/столбец типа время, а есть только datetime или varchar - на выбор....и то и другое танцы с бубном в коде, учитывая что часть даты выглядит как 1900-1-1 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 22:56 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
kvazar1977 нет, не отображать, а "иметь", у меня сотни строк кода работают в access именно со временем. Мне в sql таблице нужно поле/столбец типа время. Ты его УЖЕ имеешь. 1900-1-1 - это "нулевая дата". Точка отсчета, т.с. Просто не обращай на неё внимание и всё Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 23:05 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
1. Вычисляемые столбец в таблице Код: sql 1.
2. Сделать представление и работать через него. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 23:27 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
Есть тип данных time. Почитай про триггеры - они, в том числе, используются для постобработки входящих данных и автоматического заполнения столбцов и даже других таблиц. Ещё вариант, вообще убрать поле с датой в таблице и заполнять её через функцию, внутри которой входящая datetime будет преобразовываться в time. Но и не забывай про аргументы комментаторов выше: попробуй подумать, насколько тебе действительно нужно хранить время отдельно от даты. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 10:04 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
CREATE TABLE [dbo].[Table_TEST]( [ID] [int] NULL, [DATEZAPIS] [datetime] NULL, [TIMEZAPIS] AS (CONVERT([time],[DATEZAPIS],(108))) ) ON [PRIMARY] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Table_TEST', @level2type=N'COLUMN',@level2name=N'DATEZAPIS' GO ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 12:42 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
Благодарю всех за советы, спасибо!! помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 21:55 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
рано радовался. вычисляемый столбец по умолчанию не имеет типа, поэтому access воспринимает его как строковое поле со всеми вытекающими. Мне необходимо создать реальный столбец и триггером заполнять в него "время". Может кто пример привести? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 22:32 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
Агрох, нужно поле дата, без вариантов. можете привести пример триггера или функции? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 22:33 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
kvazar1977 рано радовался. вычисляемый столбец по умолчанию не имеет типа, поэтому access воспринимает его как строковое поле со всеми вытекающими. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 22:36 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, этот сайт крайне дружественен с точки зрения вставки графической информации... лучше один раз увидеть. при выполнении этой строки (alter table dbo.AllDeals add [TimeDeal] as cast([TimeTorg] as time) создается столбец который пр просмотре design НЕ ИМЕЕТ значения в поле Data Type. Когда такой столбец линкуется к access, естественно, по умолчанию данные в нем строковые. Поэтому нужно видимо создать обычный столбец и тригером INSERT обновлять в нем значение этого поля ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2020, 23:12 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
kvazar1977, может стоит просто скопировать тип? : ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 02:04 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
kvazar1977, Тип вашего вычисляемого поля можно узнать из sys.columns, information_schema.columns или выполнив sp_help 'имя таблицы'. Когда там найдете хоть одно поле, у которого нет типа, дайте знать. З.Ы. А про вот эти графические редакторы -- "Не читайте советских газет до обеда" (с). Это баловство, ясельная группа детсада. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 03:15 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
Вот вам тоже картинок нарисую: ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 03:19 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
kvazar1977Когда такой столбец линкуется к access, естественно, по умолчанию данные в нем строковые.А вот как линковать в Access поля типа time чтобы было так, как вам хочется, спрашивать надо в разделе про Access . ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 03:26 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
kvazar1977 вычисляемый столбец по умолчанию не имеет типа, поэтому access воспринимает его как строковое поле со всеми вытекающими. это Акс, просто, "не понимает" этих типов : ни Time, ни Date, ни DateTime2 - вообщем всех новых (после 2000 сервера) + bigint ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 07:02 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
как я понял, мне остается только триггер.... просто бывают ситуации когда подгружаются быстро (10 сек) более, допустим, 400 000 записей, триггер сильно затормозит процесс? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 21:42 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
kvazar1977 как я понял, мне остается только триггер.... просто бывают ситуации когда подгружаются быстро (10 сек) более, допустим, 400 000 записей, триггер сильно затормозит процесс? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 21:51 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич kvazar1977 как я понял, мне остается только триггер.... просто бывают ситуации когда подгружаются быстро (10 сек) более, допустим, 400 000 записей, триггер сильно затормозит процесс? на стороне sql servera сделать поле datetime, преобразовывать имеющиеся данные времени типа 1/1/1900 20:05:05 в 29/09/2020 20:05:00, и этот формат на стороне акцесса уже обрабатывать в запросах. например, мне нужно сравнивать его со значением Now() в формате where between .. и .. у меня есть данные из квика о времени сделки типа 1/1/1900 15:56:01 преобразую их в 23/09/2020 15:56:01 datatime и отдаю в акцесс в удобоваримом формате. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 22:53 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
kvazar1977 на стороне sql servera сделать поле datetime, преобразовывать имеющиеся данные времени типа 1/1/1900 20:05:05 в 29/09/2020 20:05:00, и этот формат на стороне акцесса уже обрабатывать в запросах. например, мне нужно сравнивать его со значением Now() в формате where between .. и .. Стоит задача: сравнить ахулион значений с одним значением now(). Но ахулион значений, как назло, имеет дату 1/1/1900, а now() содержит текущую и так просто не сравнить. Что же делать? Как же поступить правильному архитектору? Правильно! Настоящий архитектор преобразует ахулион значений к текущей дате, вместо того, чтобы в одном значении now() заменить дату на 1/1/1900 перед сравнением. Бинго! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 23:45 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, не нужно ломать о меня копья, я ценю помощь, но я работаю с БД 25 лет, просто непрофессионально , но плотно. с sql пришло время, нет проблем разберусь, у меня шкафы книг, хотел быстро решить именно этот вопрос. В базах access десятки запросов работают с полем время, и именно поэтому в этом поле должно быть Time, а на руках сейчас нулевая дата со временем из sql. квик - sql - access. я уж молчу что квик отдает дату и время в виде строк, вот уже очевидное решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2020, 20:48 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
court, bigint понимает, я с ним работаю.. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2020, 20:54 |
|
заполняемый автоматически столбец
|
|||
---|---|---|---|
#18+
kvazar1977 Гавриленко Сергей Алексеевич, не нужно ломать о меня копья, я ценю помощь, но я работаю с БД 25 лет, просто непрофессионально , но плотно. с sql пришло время, нет проблем разберусь, у меня шкафы книг, хотел быстро решить именно этот вопрос. kvazar1977В базах access десятки запросов работают с полем время, и именно поэтому в этом поле должно быть Time, а на руках сейчас нулевая дата со временем из sql.Раз есть какие-то запросы, которые хочется сохранить при миграции данных в SQL Server из аксеса, спрашивать, как делать, надо не здесь, а в соответствующем разделе . ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2020, 21:10 |
|
|
start [/forum/topic.php?fid=46&msg=40001129&tid=1685603]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 18ms |
total: | 164ms |
0 / 0 |