|
|
#11 |
|
Пользователь
![]() Регистрация: 19.07.2010
Сообщений: 392
Благодарности: 0
Поблагодарили 76
раз(а) в 76 сообщениях
Обратиться по нику Цитата выделенного |
хм... ну допустим
а если дата будет забита так: "19.08.19.8" (сегодня случайно нашел такую в базе, там еще много подобных) тогда какой результат будет? пропустит "инвалидку" или выдаст ошибку? |
| В Минюст Цитата Спасибо |
|
|
#12 |
|
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
пропустит. Но можно написать запрос, который такие не валидные даты отберет для дальнейшего исправления
|
| В Минюст Цитата Спасибо |
|
|
#13 |
|
Пользователь
![]() Регистрация: 22.06.2010
Сообщений: 14
Благодарности: 0
Поблагодарили 2
раз(а) в 2 сообщениях
Обратиться по нику Цитата выделенного |
|
| В Минюст Цитата Спасибо |
|
|
#14 |
|
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
Код:
execute ibeblock
returns (npp integer,
novalid varchar(200))
as
begin
/* создаем регэксп для даты */
re = ibec_re_Create('(0[1-9]|[12][0-9]|3[01]).(0[1-9]|1[012]).(19[0-9]{2}|200[0-9]|2010)');
/* выбираем npp и даты рождения */
for select ip.npp,
ip.date_born_d
from ip
into :npp, :novalid do begin
/* если not null, то смотрим через регэксп */
if (:novalid is not null) then begin
/* возвращает true, если содержимое :novalid подходит под регэксп re
и false, если :novalid не подходит */
res = ibec_re_Exec(re, :novalid);
/* нам нужно вывести результат false */
if (res = 0) then suspend;
end;
/* выводим также, если дата рождения null */
else suspend;
end;
ibec_re_Free(re);
end
|
| В Минюст Цитата Спасибо |
|
|
#15 |
|
Пользователь
![]() Регистрация: 09.05.2010
Сообщений: 182
Благодарности: 0
Поблагодарили 12
раз(а) в 12 сообщениях
Обратиться по нику Цитата выделенного |
Ходят слухи что в свежем FB можно регексы в запросах пользовать
что сводит код к Код:
select ip.npp, ip.date_born_d from ip where ip.date_born_d matching '[0-3][0-9]\.[0-1][0-9]\.(19|20)[0-9]{2}'
|
| В Минюст Цитата Спасибо |
|
|
#16 |
|
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
Ага. Только не matching, а similar to
|
| В Минюст Цитата Спасибо |
|
|
#17 |
|
Пользователь
![]() Регистрация: 09.05.2010
Сообщений: 182
Благодарности: 0
Поблагодарили 12
раз(а) в 12 сообщениях
Обратиться по нику Цитата выделенного |
да, точно - пример из dev-диспута схватил
|
| В Минюст Цитата Спасибо |
|
|
#18 |
|
Модератор ФССП
![]() Регистрация: 16.01.2009
Адрес: Россия / /
Сообщений: 3,373
Благодарности: 153
Поблагодарили 548
раз(а) в 528 сообщениях
Обратиться по нику Цитата выделенного |
об чем этот селект - просвятите плз....
__________________
Yo Way Yo, Home Va-Ray, Yo Ay-Rah, Jerhume Brunnen-G |
| В Минюст Цитата Спасибо |
|
|
#19 |
|
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
Искать по "регулярные выражения".
|
| В Минюст Цитата Спасибо |
|
|
#20 |
|
Пользователь
![]() Регистрация: 19.07.2010
Сообщений: 392
Благодарности: 0
Поблагодарили 76
раз(а) в 76 сообщениях
Обратиться по нику Цитата выделенного |
undermind
так можно, к примеру, 35.02.2019 пропустить
|
| В Минюст Цитата Спасибо |
|
|






«Закония» в соц. сетях