
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.07.2020, 02:15
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Добрый вечер, всем. Делаю базу данных на Акцесс и Delphi, есть поле "дата окончания действия справки", как можно заменить данную дату на слово "бессрочно" если пользователь к примеру введет дату 31/12/2999 ? Нашла похожее решение для базы на акцесс, но мне это наверное не подойдет. https://www.sql.ru/forum/750528/datu-zamenit-slovom ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.07.2020, 09:26
|
|||
|---|---|---|---|
Замена даты на слово |
|||
|
#18+
Marina_ph, я бы дополнительное поле создал. признак бессрочно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.07.2020, 11:34
|
|||
|---|---|---|---|
Замена даты на слово |
|||
|
#18+
Marina_ph, А почему, собственно, не пойдет? Или IIF/CASE в запросе или соотв. формула непосредственно в генераторе отчетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.07.2020, 12:17
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Marina_phкак можно заменить данную дату на слово "бессрочно" RTFM TField.OnGetText. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.07.2020, 15:16
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Marina_ph, В поле null занести. Нет даты окончания => бессрочно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 10:36
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
+ тоже за null. Дата окончания не указана - значит, её нет. По логике все ОК. Ну а отображение в клиенте через OnGetText. Еще преимущество - при выборках и фильтрах не потребуется таскать некое "магическое значение", как в случае с 31.12.2999. Ну и можно тешить себя тем, что программа устойчива к переходу на 3000-й год ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 17:26
|
|||
|---|---|---|---|
Замена даты на слово |
|||
|
#18+
Fr0sT-Brutal, null обозначает, что даты нет, а не то, что она бессрочно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 17:30
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
cptngrbnull обозначает, что даты нет, а не то, что она бессрочно А "даты окончания нет" означает "бессрочно"? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 18:12
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Marina_ph, возможно данную конструкцию с MSSQL можно перевести на Access Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 18:18
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Gerasimenkoданную конструкцию с MSSQL можно перевести Эти странные люди там реально так пишут вместо простого Код: sql 1. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 18:42
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Dimitry Sibiryakov Gerasimenkoданную конструкцию с MSSQL можно перевести Эти странные люди там реально так пишут вместо простого Код: sql 1. ну, во первых твой код выдаст ошибку, а во вторых это дело привычки, т.к. null является частным случаем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 18:51
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Gerasimenkoво первых твой код выдаст ошибку С чего бы ему выдавать ошибку? Код: sql 1. 2. 3. 4. 5. 6. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 18:53
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Dimitry Sibiryakov Gerasimenkoво первых твой код выдаст ошибку С чего бы ему выдавать ошибку? Код: sql 1. 2. 3. 4. 5. 6. Msg 241, Level 16, State 1, Line 1 Conversion failed when converting date and/or time from character string. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 18:57
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
GerasimenkoMsg 241, Level 16, State 1, Line 1 Conversion failed when converting date and/or time from character string. Ух ты... Назачем оно "from" вместо "to"? Дивный мелкомягкий мир... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 19:03
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Dimitry Sibiryakov GerasimenkoMsg 241, Level 16, State 1, Line 1 Conversion failed when converting date and/or time from character string. Ух ты... Назачем оно "from" вместо "to"? Дивный мелкомягкий мир... Да... ты бы еще удивился, как я , когда в одной из новых версий CAST и CONVERT начали выдавать не правильные выборки, которые раньше были правильными. Оказалось, что нужно теперь TRY_CAST и TRY_CONVERT использовать во многих случаях (если поле может принимать значение NULL) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.07.2020, 19:19
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Странно, что DS не проехался по любимой теме "нехрен заставлять сервер делать работу клиента по представлению данных" )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2020, 00:31
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
Всем спасибо за ответы и советы)) но я если честно тупенькая и не понимаю как мне это лучше оформить. Базу данных делаю по учебнику Фленова Библия Делфи, но руководитель курсовой работы решила поиздеваться и добавила некоторые плюшки, типо таких как срок годности и так далее, поэтому и не понимаю как это сделать. Просто это должно быть в случае чего и в отчет выводится и сортировку по этому полю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2020, 01:25
|
|||
|---|---|---|---|
Замена даты на слово |
|||
|
#18+
cptngrb Fr0sT-Brutal, null обозначает, что даты нет, а не то, что она бессрочно Ну, а во вторую - то, что задумал архитектор БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2020, 01:38
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
YuRock Нет. NULL в первую очередь обозначает, что дата неизвестна (а не "её нет", это очень разные вещи). Ну, а во вторую - то, что задумал архитектор БД. "Бесконечно" можно представить в БД как: 1) ввести флаг "бесконечно" 2) ввести крайнюю (максимальную дату) типа 31.12.9999 (дополнительные телодвижения для ее заведения, непонятки в разных СУБД с поддержкой этой максимальной даты - мелочи конечно, да и эта крайняя дата никак не говорит, что это бесконечно - скорее весьма отдаленное будущее :) ) 3) оговорить в условиях задачи (заложить в архитектуру), что NULL (т.е. дата окончания не указана/неизвестна) - есть эквивалент "длится до тех пор пока дата окончания не указана - (т.е. фактически бесконечно). Судя со своей колокольни - для меня более предпочтителен 3й вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2020, 03:08
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
DarkMaster YuRock Нет. NULL в первую очередь обозначает, что дата неизвестна (а не "её нет", это очень разные вещи). Ну, а во вторую - то, что задумал архитектор БД. "Бесконечно" можно представить в БД как: 1) ввести флаг "бесконечно" 2) ввести крайнюю (максимальную дату) типа 31.12.9999 (дополнительные телодвижения для ее заведения, непонятки в разных СУБД с поддержкой этой максимальной даты - мелочи конечно, да и эта крайняя дата никак не говорит, что это бесконечно - скорее весьма отдаленное будущее :) ) 3) оговорить в условиях задачи (заложить в архитектуру), что NULL (т.е. дата окончания не указана/неизвестна) - есть эквивалент "длится до тех пор пока дата окончания не указана - (т.е. фактически бесконечно). Судя со своей колокольни - для меня более предпочтителен 3й вариант. Имхо, самое логичное решение в данном случае. Тем более что оно прекрасно укладывается в общую концепцию. Когда, к примеру, ноль для некоторых свойств (типа Min/MaxValue) означает что пределы не заданы, а значит их нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2020, 11:08
|
|||
|---|---|---|---|
|
|||
Замена даты на слово |
|||
|
#18+
YuRock Нет. NULL в первую очередь обозначает, что дата неизвестна (а не "её нет", это очень разные вещи). Ну, а во вторую - то, что задумал архитектор БД. А если принять по умолчанию, что отсутствие даты окончания - это есть бессрочно, то понятия становятся тождественными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2020, 11:18
|
|||
|---|---|---|---|
Замена даты на слово |
|||
|
#18+
cptngrb Marina_ph, я бы дополнительное поле создал. признак бессрочно +100500! MagicNumbers - даже если это null - это зло! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2020, 11:37
|
|||
|---|---|---|---|
Замена даты на слово |
|||
|
#18+
DarkMaster 2) ввести крайнюю (максимальную дату) типа 31.12.9999 (дополнительные телодвижения для ее заведения, непонятки в разных СУБД с поддержкой этой максимальной даты Очень удобно, условие отбора записей для всех исторических (кроме тех, что хранятся срезами на дату) таблиц очень простое: Код: sql 1. Поля start_date и end_date называются одинаково во всех таблицах, поэтому условие удобно копипастить. Ну и читабельность запросов облегчает, не нужно всяких COALESCE-ов и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2038165]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
308ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 587ms |

| 0 / 0 |
