|
работа с датами
|
|||
---|---|---|---|
#18+
Всем добрый день. Досталась мне база в которой дата записана в текстовом поле. Разделитель может быть: ".", "/", "-". Как мне в селекте выбрать все записи которые больше определенной даты. cast обломался на разделителе "/". или как мне одним запросом заменить по полю все "/" на "." с "." cast работает нормально ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:23 |
|
работа с датами
|
|||
---|---|---|---|
#18+
akrush, Заменить-то можно, но ты уверен, что у тебя в датах с разделителями "-/" дата именно в формате DD.MM.YYYY? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:26 |
|
работа с датами
|
|||
---|---|---|---|
#18+
akrush, для замены подстроки в строке существует функция REPLACE ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:26 |
|
работа с датами
|
|||
---|---|---|---|
#18+
Симонов Денисakrush, для замены подстроки в строке существует функция REPLACE Если можно подскажите точно синтаксис. Название таблицы SUB, Поле по которому нужно провести замену d2_t ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:28 |
|
работа с датами
|
|||
---|---|---|---|
#18+
DarkMasterakrush, Заменить-то можно, но ты уверен, что у тебя в датах с разделителями "-/" дата именно в формате DD.MM.YYYY? Формат точно DD.MM.YYYY. Вот только в апреле может получится 31 день, но это уже мои "грабли", буду сам из выравнивать ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:29 |
|
работа с датами
|
|||
---|---|---|---|
#18+
Симонов Денис, Пусть сначала на мой вопрос ответит, а то наменяет и получит мусор в таблице. Пусть хотя бы отдельный столбец добавит. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:29 |
|
работа с датами
|
|||
---|---|---|---|
#18+
DarkMasterСимонов Денис, Пусть сначала на мой вопрос ответит, а то наменяет и получит мусор в таблице. Пусть хотя бы отдельный столбец добавит. Спасибо за подсказку. Действительно так надежней не потерять важные данные Новый столбец будет иметь имя NEW_d2_t ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:32 |
|
работа с датами
|
|||
---|---|---|---|
#18+
akrush, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Я предлагаю добавить поле типа varchar() для хранения промежуточного результата и еще наверное поле типа Date для записи результата. Чтобы "если что не так" - ничего не поломать. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:34 |
|
работа с датами
|
|||
---|---|---|---|
#18+
akrushcast обломался на разделителе "/".CAST не ломается на разделителе, ты обманываешь. CAST ломается на неправильной записи даты. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:36 |
|
работа с датами
|
|||
---|---|---|---|
#18+
akrushЕсли можно подскажите точно синтаксис. Название таблицы SUB, Поле по которому нужно провести замену d2_t не подскажу. Лень мне. Тем более что всё это есть в документации Firebird_3_0_Language_Reference_RUS ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:38 |
|
работа с датами
|
|||
---|---|---|---|
#18+
WildSeryCAST ломается на неправильной записи даты. Там таки закралась какая-то лажа в данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 10:39 |
|
работа с датами
|
|||
---|---|---|---|
#18+
WildSeryakrushcast обломался на разделителе "/".CAST не ломается на разделителе, ты обманываешь. CAST ломается на неправильной записи даты. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Ну он же написал, что формат везде DD.MM.YYYY не смотря на разделители. А ФБ считает, что раз / в качестве разделителя до должно быть MM/DD/YYYY ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 13:41 |
|
работа с датами
|
|||
---|---|---|---|
#18+
DarkMasterakrush, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Я предлагаю добавить поле типа varchar() для хранения промежуточного результата и еще наверное поле типа Date для записи результата. Чтобы "если что не так" - ничего не поломать. Спасибо, сейчас попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 13:59 |
|
работа с датами
|
|||
---|---|---|---|
#18+
при попытке выполнить вот это: update TableName set TargetDateField=cast(FieldName as Date) Обломалось, т.к. в старой программе не было контроля ввода дат и народ повводил 31 апреля, 31 июня. Как это можно отловить? :( и подправить ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:29 |
|
работа с датами
|
|||
---|---|---|---|
#18+
промежуточный столбец с заменой лишних символов я уже сделал. Все получилось, всем огромное спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:30 |
|
работа с датами
|
|||
---|---|---|---|
#18+
akrushКак это можно отловить? Выбирать записи по одной, пробовать кастить, ловить исключения, записывать данные, их вызвавшие. execute block тебе в руки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:31 |
|
работа с датами
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Спасибо, Я придумал сделать замену 31/04/2015 на 30/04/2015 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:34 |
|
работа с датами
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovakrushКак это можно отловить? Выбирать записи по одной, пробовать кастить, ловить исключения, записывать данные, их вызвавшие. execute block тебе в руки. Я еще не умею :( ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:34 |
|
работа с датами
|
|||
---|---|---|---|
#18+
Я еще только учусь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:37 |
|
работа с датами
|
|||
---|---|---|---|
#18+
akrush, Тогда внимательно читай руководство по языку - там все есть - для тебя ж старались. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:39 |
|
работа с датами
|
|||
---|---|---|---|
#18+
DarkMasterakrush, Тогда внимательно читай руководство по языку - там все есть - для тебя ж старались. Спасибо. Буду грызть гранит науки. П.С. нашел еще даты 00.00.0000 и 01.01.0000 :( ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:42 |
|
работа с датами
|
|||
---|---|---|---|
#18+
Как всегда забыл написать: версия ФБ 2,5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:43 |
|
работа с датами
|
|||
---|---|---|---|
#18+
akrush, Здесь руководства по 2.5,3.0 и даже :) 4.0 https://app.assembla.com/spaces/firebird-russian-documentation/wiki ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:48 |
|
работа с датами
|
|||
---|---|---|---|
#18+
stelvicНу он же написал, что формат везде DD.MM.YYYY не смотря на разделители.Все пациенты врут (ц). К тому же он ответил по наводящему вопросу, что лично у меня всегда снижает веру в достоверность. Раз у него получилось - я рад. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 15:06 |
|
работа с датами
|
|||
---|---|---|---|
#18+
разбираюсь в execute block. Я знаю как это написать на Делфи, но думаю что разберусь и тут. Вопрос: execute block сам идет по каждой записи и выполняется или мне нужно цикл организовать для перебора строк П.С. прошу гнилыми помидорами не забрасывать. Хочу понять как работает чтобы правильно все написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 15:40 |
|
|
start [/forum/topic.php?fid=40&msg=39265555&tid=1562105]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 140ms |
0 / 0 |