Sybase (ASE) str_replace zamiana spacji na puste znaki - nie działa
PAblo - 31-08-2007 00:13
Sybase (ASE) str_replace zamiana spacji na puste znaki - nie działa
Witam Problem jak w temacie. W ogóle zauważyłem że ASE w prównaniu z ASA to wielki shit.
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
=?UTF-8?B?RmlsaXAgUmVtYmlhxYJrb3dza2k=?= - 31-08-2007 00:13
=?UTF-8?B?UmU6IFN5YmFzZSAoQVNFKSBzdHJfcmVwbGFjZSB6YW1pYW 5hIHNwYWM=?==?UTF-8?B?amkgbmEgcHVzdGUgem5ha2kgLSBuaWUgZHppYcWCYQ==?=
PAblo wrote at 30 VIII 2007 15:54: > Witam > Problem jak w temacie. W ogóle zauważyłem że ASE w prównaniu z ASA to wielki > shit.
w końcu xyz Enterprise vs xyz Anywhere, to drugie działa wszędzie a to pierwsze... tylko if you enter prajs ;)
a tak serio to może pokażesz konkretnie co robiłeś, po co i dlaczego wg Ciebie "nie działa"?
i napisz to proszę w treści a nie w temacie.
=?ISO-8859-2?Q?Tomasz_=A3ukaszyk?= - 31-08-2007 00:13
=?ISO-8859-2?Q?Re=3A_Sybase_=28ASE=29_str=5Freplace_zami?==?I SO-8859-2?Q?ana_spacji_na_puste_znaki_-_nie_dzia=B3a?=
PAblo pisze: > Witam > Problem jak w temacie. W ogóle zauważyłem że ASE w prównaniu z ASA to wielki > shit. > No bo ASE nie ma takiej funkcji.
ASE nie ma wodotrysków ASA, no ale też nie wywala się na bazach podchodzących pod 10 GB ;-) Z założenia ASE wymaga admina, a dla admina to nie problem zrobić to np tak:
DECLARE crs_test cursor for SELECT name from sysobjects WHERE name like '%sys%p%'
GO
declare @tt varchar(50), @licznik integer, @znak char, @tekst varchar(50)
OPEN crs_test
FETCH crs_test into @tt
WHILE (@@sqlstatus = 0) BEGIN
select @licznik=0 select @znak='' select @tekst=null
while @licznik < char_length(@tt) begin select @licznik=@licznik+1 select @znak=substring(@tt,@licznik,1) if @znak != 's' select @tekst=@tekst + @znak end
select @tekst
FETCH crs_test INTO @tt
END
CLOSE crs_test
GO
To jest działający przykład zamieniający 's'-y w kolumnie name w sysobjects w dowolnej bazie i wyświetlający wynik.
Zmieniasz pierwszą linijkę na co tam chcesz, potem: if @znak != 's' select @tekst=@tekst + @znak 's' zmieniasz na ' ', select @tekst - na jakiegośtam update'a (w @tekst jest tekst bez ' ')
T.Ł.
pablo - 31-08-2007 00:13
> PAblo pisze: > > Witam > > Problem jak w temacie. W ogóle zauważyłem że ASE w prównaniu z ASA to wielki > > shit. > > > No bo ASE nie ma takiej funkcji.
Jak nie ma jak ma: STR_REPLACE. str_replace(pole,' ','') zwraca np dla: "to ja" ten sam ciąg "To ja"
w asa: funkcja replace zwraca "toja"
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
=?ISO-8859-2?Q?Tomasz_=A3ukaszyk?= - 31-08-2007 00:13
=?ISO-8859-2?Q?Re=3A_Sybase_=28ASE=29_str_replace_zami?==?ISO-8859-2?Q?ana_spacji_na_puste_znaki_-_nie____dz?==?ISO-8859-2?Q?ia=B3a?=
pablo pisze: >> PAblo pisze: >>> Witam >>> Problem jak w temacie. W ogóle zauważyłem że ASE w prównaniu z ASA to wielki >>> shit. >>> >> No bo ASE nie ma takiej funkcji. > > Jak nie ma jak ma: STR_REPLACE. > str_replace(pole,' ','') zwraca np dla: "to ja" ten sam ciąg "To ja" > > w asa: > funkcja replace zwraca "toja" > > Racja od 12.5.1 jest.
Z manuala
Example 2 Replaces all spaces with "toyota".
select str_replace("chevy, ford, mercedes", "","toyota") ---------- chevy,toyotaford,toyotamercedes (1 row(s) affected)
czyli teoretycznie masz racje, może im nie wyszło ?
Zwróć uwagę, że w przykładzie tak na prawdę nie ma spacji pomiędzy ptakami, tylko jest pustka, może to błąd manuala, a może '' = ' ' ?
Jaką masz wersję, w razie czego mam 15.0 EE mogę na niej sprawdzić, w 12.5.0.3, której używam nie ma tej funkcji.
T.Ł.
PAblo - 31-08-2007 00:14
> czyli teoretycznie masz racje, może im nie wyszło ? nie wiem juz nie doczytalem. inne zamiany wykonuja sie prawidlowo
> Jaką masz wersję, w razie czego mam 15.0 EE mogę na niej sprawdzić, w > 12.5.0.3, której używam nie ma tej funkcji.
No i niestety mam w firmie 12.5.1. Niestety podmiana na wersję 12.5.3 pozbawioną niedociągnięć np. "SELECT TOP" itp. u mnie nie wchodzi w grę. Ale nie wiedzialem, ze mozna wprowadzic do obiegu tak dziurawy produkt.
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
=?ISO-8859-2?Q?Tomasz_=A3ukaszyk?= - 31-08-2007 00:14
=?ISO-8859-2?Q?Re=3A_Sybase_=28ASE=29_str_replace_zami?==?ISO-8859-2?Q?ana_spacji_na_puste_znaki_-_nie____dz?==?ISO-8859-2?Q?ia=B3a?=
PAblo pisze: >> czyli teoretycznie masz racje, może im nie wyszło ? > nie wiem juz nie doczytalem. inne zamiany wykonuja sie prawidlowo > > >> Jaką masz wersję, w razie czego mam 15.0 EE mogę na niej sprawdzić, w >> 12.5.0.3, której używam nie ma tej funkcji. > > No i niestety mam w firmie 12.5.1. Niestety podmiana na wersję 12.5.3 pozbawioną > niedociągnięć np. "SELECT TOP" itp. u mnie nie wchodzi w grę. Ale nie > wiedzialem, ze mozna wprowadzic do obiegu tak dziurawy produkt. > > > > Eee bez przesady, dziurawe są z definicji tylko wersje GA, no chyba że masz taką ;-)
T.Ł.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MySQL] Po aktualizacji =?ISO-8859-2?Q?znikn=EA=B3y_polskie_?==?ISO-8859-2?Q?znaki=2E?=
MySQL + UTF8 + PL znaki - jest =?ISO-8859-2?Q?jaki=B6_logiczny?==?ISO-8859-2?Q?_spos=F3b_=3F?=
[sybase] - ASA8/Lin/PB - jak =?ISO-8859-2?Q?diagnozowa=E6_w=B1?==?ISO-8859-2?Q?skie_gard=B3a=3F?=
[Oracle][Reports30] 10G nie dziala razem z Reports3.0
Skrypt przeszukujacy dwa pliki tekstowe i dopisujacy zadane znaki do drugiego pliku
[MS SQL 2k] Procedura sp_add_job. Dlaczego nie działa dobrze ?
[MySql] Select, polskie znaki i duze oraz małe litery
=?iso-8859-2?q?Sybase_jak_wyci=B1gn=B1=E6_dane_generowane_prz ez_funkcje?=
[PostgreSQL] Konfiguracja w pg_hba.conf - dziala tylko "trust"
poszukuje skryptu dzialajacego jak www.centrum-modelek.pl
zanotowane.pldoc.pisz.plpdf.pisz.plponland.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 |
|