|
|
|
Select "куска" даты
|
|||
|---|---|---|---|
|
#18+
Доброе время суток! У меня проблема. IB6.0, база в диалекте 3, клиент на Delphi5. Есть Edit на onChange в котором происходит вызов ХП с входным параметром содержимого Edit'а. На типах char и integer всё работает, а передаю в ХП тип date в строке (Edit1.Text) ничего не получается, даже select не делается. в ХР следующий текст: create procedure LookUp1(AData char(9)) return(...) for select * from table1 where data like :Adata ... suspend ... допустим AData :='01%'; Пробовал даже where cast(data as char(9)) like :Adata, не получается. ;-( В книге написано, что типы date и character совместимы, т.е. дата преобразуется в строку... Мне именно нужно делать поиск по начальному значению даты или даже по "куску" '%200%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 00:54 |
|
||
|
Select "куска" даты
|
|||
|---|---|---|---|
|
#18+
А ты попробуй сделать сначала SELECT CAST(DATA AS CHAR(9)) FROM TABLE1, тогда и увидишь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 01:41 |
|
||
|
Select "куска" даты
|
|||
|---|---|---|---|
|
#18+
Опечаточка: SELECT CAST(DATA AS CHAR(10)) FROM TABLE1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 11:47 |
|
||
|
Select "куска" даты
|
|||
|---|---|---|---|
|
#18+
Да дата в строку преобразовывается просто в формате буржуйском конченом. Если сделаешь SELECT * FROM BUYINGS WHERE DATE_OF STARTING WITH '2' - тебе все записи 2-го тысячелетия вываляться. Поэтому лучше используй обычные операторы сравнения совместно с EXTRACT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 11:57 |
|
||
|
Select "куска" даты
|
|||
|---|---|---|---|
|
#18+
Можно импортировать функцию substr из ib_udf.dll и тогда писать: cast(substr(DATE,1,2)as *****) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 17:00 |
|
||
|
Select "куска" даты
|
|||
|---|---|---|---|
|
#18+
А почему бы просто на клиенте (событие OnChange) не разбить дату на состовляющие и передать в ф-ю три параметра типа int? =) Все ведь просто, зачем со строками возиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 14:18 |
|
||
|
Select "куска" даты
|
|||
|---|---|---|---|
|
#18+
Для конкретной задачи могу предложить просто решение с типом int. В предложении WHERE просто пишете WHERE (EXTRACT(YEAR FROM MYDATE) = AYEAR OR AYEAR IS NULL) AND (EXTRACT(DAY FROM MYDATE) = ADAY OR ADAY IS NULL) AND (EXTRACT(MONTH FROM MYDATE) = AMONTH OR AMONTH IS NULL) ... Good Luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 14:23 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32299900&tid=1579790]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
177ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 513ms |

| 0 / 0 |
