The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #1 (permalink)  
Old 04-21-2009
ryanW ryanW is offline
Registered User
  
 

Join Date: Mar 2009
Posts: 34
::select statement return value with correct field size::

Hi Everyone,

I am facing a problem regarding the select from sybase, the return with the incorrect size.

For example, field is NAME(20).

After i selected from sybase, the result is nicky.
after i assign it to another declaration variable, it will be in actual name "nicky" , what i need the result is "nicky " with the space.

Anyone, who can help me? where to set it.. then i can get the return value with correct size which is including the space.

here is my sample of coding which

FIRST::::
typeSQL()
{

CONNECT="$SYBASE/XXX-22_8/bin/isql -S$HOSTNAME -U$USERNAME -P$PASSWORD -w400 -b -s|"

data_type_SQL=$($CONNECT cat <<-__EOF__
SET NOCOUNT ON
select LOC_TYPE, WAREHOUSE, LOCATION_ID from LOCATION where
LOCATION_ID="$loc_ID"
go
__EOF__)
}

size of each filed
LOC_TYPE(1)
WAREHOUSE(4)
LOCATION_ID(6)


After return value with incorrect size which are follow the size of each table name

data_type_SQL result is --> |G |NRT |NRTW |

SECOND::
loc_TYPE=$(echo $data_type_SQL | cut -d\| -f2| sed -e 's/|//g')
ware_HOUSE=$(echo $data_type_SQL | cut -d\| -f3| sed -e 's/|//g')
local_ID=$(echo $data_type_SQL | cut -d\| -f4| sed -e 's/|//g')

result after assigned with incorrect size

loc_TYPE="NRTW "
ware_HOUSE="G "
local_ID="NRT "


Can someone help me to check it? I just hope after assign to each field with correct size, including "SPACING"

thank you