× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I avoided the NULL fields by using the following code - the CHAR and the VALUE end up giving a fixed-length, no nulls allowed 1 byte field.


chgvar &sqlCmd ('select zoned(client_n,6,0) as client_n ,' +
*tcat ' char(value(' +
*tcat ' max(case when client_act = ''S'' then ''S'' else '' '' end),'' ''))' +
*tcat ' as Settle_Act,' +



-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of CRPence
Sent: Wednesday, March 28, 2012 5:33 PM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: SQL - how to create NOT NULL fields in a SELECT stmt

On 28-Mar-2012 11:38 , Stone, Joel wrote:
...

The CREATE TABLE AS will generate the Record Format from the SELECT
query that is code; similar to a CREATE VIEW. By default, expressions
involving a null capable column will be generated in the internal query
as "Allows the null value" [ALWNULL in DDS], and reflected as such in
the RcdFmt created for the TABLE; as with a VIEW. While the resulting
data for any expression can be prevented from actually being represented
as the database NULL value [e.g. IFNULL() or COALESCE()], the column
attributes can not be adjusted within that variation of the CREATE TABLE
syntax [i.e. using AS] which does not enable /data-type/ specification
for which a NOT NULL clause could be included.

_CREATE TABLE_ /* see syntax */
http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/topic/db2/rbafzhctabl.htm

Oddly, the parenthetical column-list capability is not shown\alluded
by that syntax diagram, even though accepted\honored. For example
either of the following can establish column-names:

CREATE TABLE table-name (column-list) AS (select ... )

CREATE TABLE table-name AS (select expr1 AS column-name, ... )

FWiW, I do not believe any of the /copy-options/ could assist to
preclude the null capability, for the /as-result-table/ syntax.

The typical CREATE TABLE syntax using /column-definition/ or the
CREATE TABLE LIKE to reference an existing table [as an effective
REFFILE] can be used to pre-create the TABLE with the desired column
attributes [aka Record Format]. Then the INSERT INTO statement can be
used instead of the CREATE TABLE AS to place the data in the previously
created TABLE.

Regards, Chuck

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.