[DB2] - Typ danych w widoku
Art - 21-12-2005 12:16
[DB2] - Typ danych w widoku
Witam Mam problem z typem danych kolumny w widoku.
A mianowicie tworzę widok
CREATE VIEW widok1 (nazwa1, nazwa2, nazwa3) as SELECT t1.COL1, t2.COL2, (CASE WHEN (t1.kod_pocztowy = '00000') THEN '' ELSE (((INFX.SUBSTRING(t1.kod_pocztowy, 1, 2) || '-') || INFX.SUBSTRING(t1.kod_pocztowy, 3, 3)) || ' ') END || INFX.TRIM_BOTH(' ', t1.poczta)) FROM adres t1, kody t2 WHERE .....
t1.kod_pocztowy jest typu CHAR(5) a t1.poczta CHAR(30)
Typ danych w widoku w polu nazwa3 jest "LONG VARCHAR" Dlaczego nie CHAR lub VARCHAR ? Jaka może być przyczyna tego ? Jeżli długość na pewno nie bedzie wieksza od 37.
Pozdrawiam Art
Grzegorz Danowski - 21-12-2005 12:16
Użytkownik "Art" <arturb@wp.pl> napisał w wiadomości news:do8v0m$5p$1@atlantis.news.tpi.pl... > Witam > Mam problem z typem danych kolumny w widoku. > > A mianowicie tworzę widok > > CREATE VIEW widok1 (nazwa1, nazwa2, nazwa3) as > SELECT > t1.COL1, > t2.COL2, > (CASE > WHEN (t1.kod_pocztowy = '00000') THEN '' > ELSE (((INFX.SUBSTRING(t1.kod_pocztowy, 1, 2) || '-') || > INFX.SUBSTRING(t1.kod_pocztowy, 3, 3)) || ' ') > END || INFX.TRIM_BOTH(' ', t1.poczta)) > FROM adres t1, kody t2 > WHERE ..... > > t1.kod_pocztowy jest typu CHAR(5) a t1.poczta CHAR(30) > > Typ danych w widoku w polu nazwa3 jest "LONG VARCHAR" Dlaczego nie CHAR > lub VARCHAR ? > Jaka może być przyczyna tego ? > Jeżli długość na pewno nie bedzie wieksza od 37. >
Spróbuj dodać Cast na char - powinno to wymusić typ w tej kolumnie. Pozdrawiam Grzegorz
Art - 21-12-2005 12:16
Grzegorz Danowski wrote: > Użytkownik "Art" <arturb@wp.pl> napisał w wiadomości > news:do8v0m$5p$1@atlantis.news.tpi.pl... >> Witam >> Mam problem z typem danych kolumny w widoku. >> >> A mianowicie tworzę widok >> >> CREATE VIEW widok1 (nazwa1, nazwa2, nazwa3) as >> SELECT >> t1.COL1, >> t2.COL2, >> (CASE >> WHEN (t1.kod_pocztowy = '00000') THEN '' >> ELSE (((INFX.SUBSTRING(t1.kod_pocztowy, 1, 2) || '-') || >> INFX.SUBSTRING(t1.kod_pocztowy, 3, 3)) || ' ') >> END || INFX.TRIM_BOTH(' ', t1.poczta)) >> FROM adres t1, kody t2 >> WHERE ..... >> >> t1.kod_pocztowy jest typu CHAR(5) a t1.poczta CHAR(30) >> >> Typ danych w widoku w polu nazwa3 jest "LONG VARCHAR" Dlaczego nie >> CHAR lub VARCHAR ? >> Jaka może być przyczyna tego ? >> Jeżli długość na pewno nie bedzie wieksza od 37. >> > > Spróbuj dodać Cast na char - powinno to wymusić typ w tej kolumnie. > Pozdrawiam > Grzegorz
Wiedziałem że czegoś mi tam brakuje ;) Dokładnie o to chodziło. Dzięki Grzegorz.
Art
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
=?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
[laik]Jak =?ISO-8859-2?Q?stworzy=E6/zaczac_tworzyc__ma=B3=B1?==?ISO-8859-2?Q?__baz=EA_danych_na_potrzeby_www=3F?=
[mysql] przenoszenie danych =?ISO-8859-2?Q?mi=EAdzy_tabelami_?==?ISO-8859-2?Q?w_r=F3=BFnych_bazach?=
Ksiazka - "Podstawowy =?ISO-8859-2?Q?wyk=B3ad_z_system=F3w_?==?ISO-8859-2?Q?baz_danych=22?=
Zrywanie =?ISO-8859-2?Q?po=B3aczen_z_baza_danych_-_pos?==?ISO-8859-2?Q?tgresql_=3C-=3E_odbc?=
Połączenie bazy danych z wykonaniem polaczenia telefonicznego
[mssql] insert do tabeli na podstawie danych z innej tabeli
[oracle] Baza danych do kursy Introduction to Oracle9i:PL/SQL ? Skąd ją pobrać ?
zanotowane.pldoc.pisz.plpdf.pisz.plczterowers.keep.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 |
|