ďťż
 
select na zakresie "stringa" ďťż
 
select na zakresie "stringa"
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

select na zakresie "stringa"



taoo - 28-02-2006 13:12
select na zakresie "stringa"
  Witam

W tabeli mam pola, które zawierają string w postaci:
GD/08 SD/#tu numer#/2006
Czyli stały text/stały text/dowolny numer/rok

Muszę zrobić selecta na zakresie na przykład GD/08 SD/1/2006 do GD/08
SD/17/2006.
BETWEEN nie za bardzo zadziała bo jak dam:
SELECT * FROM Zaswiadczenie WHERE Nr IN ( 'G/08 SD/1/2006', 'G/08
SD/17/2006' )
to mi wybierze:
G/08 SD/1/2006
G/08 SD/10/2006
G/08 SD/11/2006
G/08 SD/12/2006
[...]
G/08 SD/17/2006

Czyli pominie od 2-9 :(

Prosze o jakieś sugestie jak to zrobić!

--
taoo
http://taoo.boo.pl/





=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 28-02-2006 13:12

  taoo wrote:
> Witam
>
> W tabeli mam pola, które zawierają string w postaci:
> GD/08 SD/#tu numer#/2006
> Czyli stały text/stały text/dowolny numer/rok
>
> Muszę zrobić selecta na zakresie na przykład GD/08 SD/1/2006 do GD/08
> SD/17/2006.
> BETWEEN nie za bardzo zadziała bo jak dam:
> SELECT * FROM Zaswiadczenie WHERE Nr IN ( 'G/08 SD/1/2006', 'G/08
> SD/17/2006' )
> to mi wybierze:
> G/08 SD/1/2006
> G/08 SD/10/2006
> G/08 SD/11/2006
> G/08 SD/12/2006
> [...]
> G/08 SD/17/2006
>
> Czyli pominie od 2-9 :(
>
> Prosze o jakieś sugestie jak to zrobić!

Dodaj kolumny sygnatura, numer, rok i załóż widok z sygnatura || '/' || numer || '/' || rok .
Możesz zmienić nazwe tabeli i widokowi nadać starą nazwe, to aplikacje nawet tego 'nie zauważą'.

--
P.M.




Grzesiek G. - 28-02-2006 13:12

  Paweł Matejski napisał(a):
> taoo wrote:
>
>> Witam
>>
>> W tabeli mam pola, które zawierają string w postaci:
>> GD/08 SD/#tu numer#/2006
>> Czyli stały text/stały text/dowolny numer/rok
>>
>> Muszę zrobić selecta na zakresie na przykład GD/08 SD/1/2006 do GD/08
>> SD/17/2006.
>> BETWEEN nie za bardzo zadziała bo jak dam:
>> SELECT * FROM Zaswiadczenie WHERE Nr IN ( 'G/08 SD/1/2006', 'G/08
>> SD/17/2006' )
>> to mi wybierze:
>> G/08 SD/1/2006
>> G/08 SD/10/2006
>> G/08 SD/11/2006
>> G/08 SD/12/2006
>> [...]
>> G/08 SD/17/2006
>>
>> Czyli pominie od 2-9 :(
>>
>> Prosze o jakieś sugestie jak to zrobić!
>
>
> Dodaj kolumny sygnatura, numer, rok i załóż widok z sygnatura || '/' ||
> numer || '/' || rok .
> Możesz zmienić nazwe tabeli i widokowi nadać starą nazwe, to aplikacje
> nawet tego 'nie zauważą'.
>
Dopóki nie spróbują zapisać do tego widoku :-(.

--
Grzegorz Gruza
Odpowiadając usuń "spamerom_nie." z adresu!!!




Morff - 28-02-2006 13:12

  Dnia 25-02-2006 o 09:15:36 Grzesiek G. <gruza@spamerom_nie.priv4.onet.pl>
napisał:

> Paweł Matejski napisał(a):
>> taoo wrote:
>>
>>> Witam
>>>
>>> W tabeli mam pola, które zawierają string w postaci:
>>> GD/08 SD/#tu numer#/2006
>>> Czyli stały text/stały text/dowolny numer/rok
>>>
>>> Muszę zrobić selecta na zakresie na przykład GD/08 SD/1/2006 do GD/08
>>> SD/17/2006.
>>> BETWEEN nie za bardzo zadziała bo jak dam:
>>> SELECT * FROM Zaswiadczenie WHERE Nr IN ( 'G/08 SD/1/2006', 'G/08
>>> SD/17/2006' )
>>> to mi wybierze:
>>> G/08 SD/1/2006
>>> G/08 SD/10/2006
>>> G/08 SD/11/2006
>>> G/08 SD/12/2006
>>> [...]
>>> G/08 SD/17/2006
>>>
>>> Czyli pominie od 2-9 :(

Na oracle napewno sie da (nie napisałeś jaka baza ) ale

mozna tak :

SELECT
substr(
dokument_no,
instr(dokument_no,'/')+1, -- pierwszy slesz (mozesz zamienić na stałą
liczbe jezeli zawsze w tym samym miejscu)
instr(dokument_no,'/',instr(dokument_no,'/')+1)-instr(dokument_no,'/')-1
-- pozycja drugiego slesza
)
FROM tabelka

jak ci zadziała to

select * from tabelka
where <tocowyzej> between 1 and 17

--
Pozdrawiam
Morff
----------------------
AQQ 141151
Powered by Opera/M2
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [help] Illustrator CS - =?ISO-8859-2?Q?znikn=B1=B3_Selection_?==?ISO-8859-2?Q?Tool_=28V=29?= [mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu. SELECT MAX(nazwaPola) FROM tabela WHERE .... i ORA-01405: pobran? warto?ci? kolumny jest NULL =?iso-8859-2?q?select_sum_i_dwie_tabele..._b=B3=EAdna_agregac ja?= =?iso-8859-2?Q?=5BMySql=5D_-_select_po_5_rekordow_mniejssych_i_wi=EAkszych?= =?iso-8859-2?Q?=5BMySql=5D_Select_wed=B3ug_nazwy_pola?= =?ISO-8859-2?Q?[mysql]_Nie_potrafi=EA_zgrupowa=E6_selecta_(proste)?= =?ISO-8859-2?Q?[MS_SQL]_update_wielu_p=F3l_na_raz_z_selecta?= Wstawianie nowego wiersza w przypadku jego braku podczas SELECT w PostgreSQL [pgsql] jak =?ISO-8859-2?Q?zrobi=E6_taki_select_=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • radioaktywni.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com