![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Oracle Välj IN uttalande | benefactr | UNIX och Linux Applications | 1 | 03-26-2009 04:15 |
| väljer ett visst område | Satyak | Shell-programmering och Skript | 4 | 10-09-2008 05:38 |
| välj sista fältet från en fil | kykyboss | Shell-programmering och Skript | 3 | 11-14-2006 10:15 |
| Error: Field $ () är inte korrekt | abbey | Shell-programmering och Skript | 3 | 06-20-2006 04:01 |
| Pipe SQL väljer uttalande resultat till skript | houtakker | UNIX for Dummies Frågor & Svar | 6 | 10-31-2003 01:20 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
:: välj statement return värde med rätt fält storlek::
Hej Alla,
Jag står inför ett problem om de väljer från Sybase, avkastningen med fel storlek. Till exempel är fältnamn (20). Efter att jag valde från Sybase, är resultatet Nicky. efter att jag överlåta den till en annan förklaring variabel, kommer det i själva namnet "Nicky", vad jag behöver resultatet är "Nicky" med utrymme. Någon som kan hjälpa mig? om var den .. då kan jag få tillbaka värdet med korrekt storlek som är inklusive mellanslag. Här är mitt urval av kodning som FÖRSTA:::: typeSQL () ( CONNECT \u003d "$ SYBASE/XXX-22_8/bin/isql-S $ hostname-U $ USERNAME-P $ PASSWORD-W400-b-s |" data_type_SQL\u003d $ ($ Connect katt <<-__ EOF__ SET NOCOUNT ON Välj LOC_TYPE, lager, LOCATION_ID från plats där LOCATION_ID \u003d "$ loc_ID" gå __EOF__) ) Storleken på varje arkiverat LOC_TYPE (1) LAGER (4) LOCATION_ID (6) Efter återvända värde med fel storlek som följer storleken på varje bord namn data_type_SQL Resultatet är -> | G | NRT | NRTW | ANDRA: loc_TYPE\u003d $ (echo $data_type_SQL | Cut-d \ |-F2 | sed -e 's / | / / g) ware_HOUSE\u003d $ (echo $data_type_SQL | Cut-d \ |-F3 | sed -e 's / | / / g) local_ID\u003d $ (echo $data_type_SQL | Cut-d \ |-F4 | sed -e 's / | / / g) Resultatet efter tillskrivs med fel storlek loc_TYPE \u003d "NRTW" ware_HOUSE \u003d "G" local_ID \u003d "NRT" Kan någon hjälpa mig att kontrollera det? Jag hoppas bara att ge efter för varje fält med korrekt storlek, inklusive "MELLANRUM" tack |
|
||||
|
Du kanske vill göra
str_out \u003d $ (echo $ data_type_SQL | sed -e 's /^|// g'-e 's /|$// g') loc_TYPE \u003d $ (echo $ str_out | cut-d \ |-f1) ware_HOUSE \u003d $ (echo $ str_out | cut-d \ |-F2) local_ID \u003d $ (echo $ str_out | cut-d \ |-F3) skål, Devaraj Takhellambam |
|
||||
|
Tack devtakh och giannicello ...
provet du lära mig .. fortfarande samma. Jag tror i strängen för data_type_SQL efter att ha valts ut från databasen redan fel med storlek. Felet i enlighet med tabellen namnet storlek LOC_TYPE i 8, lagerlokal i 9 och LOCATION_ID i 11. så, data_type_SQL \u003d | G *******| NRT *****| NRTW *******| <- Det är felaktigt, coz den är att följa med tabellen namnet storlek. Anta att vara i sin egen storlek LOC_TYPE (1) LAGER (4) LOCATION_ID (6) den rätta bör data_type_SQL \u003d | G | NRT * | NRTW ** | Har du klart vad jag förklara? SOS Tack ... |
|
||||
|
ok då prova detta:
loc_TYPE \u003d $ (echo $ data_type_SQL | awk-F "|" '(print substr ($ 2,1,1))') ware_HOUSE \u003d $ (echo $ data_type_SQL | awk-F "|" '(print substr ($ 3,1,4))') local_ID \u003d $ (echo $ data_type_SQL | awk-F "|" '(print substr ($ 3,1,4))') Du bör också notera att även om storleken på databasen definieras som 4 eller 5 eller 6, kan de faktiska uppgifterna vara mindre än den definierade storlek. skål, Devaraj Takhellambam |
|
||||
|
Vad är det du får nu:
ett stavfel i lasr post, är det local_ID \u003d $ (echo $ data_type_SQL | awk-F "|" '(print substr ($ 4,1,6))') Detta variabler ger dig resultat med mellanslag ... skål, Devaraj Takhellambam |