|
I suspect the issue is that the data is actually looks like
000100220309--First line of source..
The problem is that
cast(substr(1,6) as dec(6,2)
isn't going to work since there's no decimal point in the string.
Old school solution would be
cast((cast(substr(1,6) as num(6,0) / 100) as num(6,2))
But the new Interpret should work quicker
interpret(substr(1,6) as num(6,2))
Charles
On Thu, Mar 10, 2022 at 9:18 AM Vern Hamberg via MIDRANGE-L <
midrange-l@xxxxxxxxxxxxxxxxxx> wrote:
True, which I also mentioned in my post yesterday as to the automatic
conversion.
But maybe he is at an earlier release - I thought this automatic cast
was done a long time ago, but .....
The error is a cast error, so who knows? Running knows!
Vern
On 3/10/2022 8:23 AM, Charles Wilt wrote:
That's not the problem...digits.
The Db is perfectly happy loading a zoned column from a packed value or
vice versa...
Heck you can use a plain old integer also.
Sure there's an extra conversion behind the scenes, but it has always
worked as long as the value is compatible.
Charles
On Thu, Mar 10, 2022 at 6:33 AM Vern Hamberg via MIDRANGE-L <
midrange-l@xxxxxxxxxxxxxxxxxx> wrote:
The file he is writing to is a source physical, those fields are zoned -
see my reply from yesterday.
Cheers and see you next week in Wisconsin!
Vern
On 3/10/2022 2:03 AM, Birgitta Hauser wrote:
Question: The first 6 characters (you try to convert) are really
(LesCan you pleas show (a few rows) what is in your file.
We need to know if it is really decimal/Packed or numeric.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
Modernization – Education – Consulting on IBM i
"Shoot for the moon, even if you miss, you'll land among the stars."
relatedBrown)them
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training
and keeping them!"they
„Train people well enough so they can leave, treat them well enough so
don't want to.“ (Richard Branson)a4g
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of
atltext
Sent: Mittwoch, 9. März 2022 19:40
To: midrange-l@xxxxxxxxxxxxxxxxxx
Subject: Convert a substring to a decimal
I am battling to get this to work.
I have a PC file with source from another system. The file is a basic
file with no delimiters.and
I need to import it into a source file and preserve the SRCSEQ, SRCDAT
SRCDTA.list
I have tried to use a SQL IMPORT as follows.
I have tried
INSERT into Lib/File
(select
cast(substr(1,6) as dec(6,2),
cast(substr(7,6) as dec(6,0),
substr(13,100)
from QTEMP.File);
I keep getting CAST errors SQL0420.
How could I achieve this?
TIA, DArryl Freinkel.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
listquestions.link:
Help support midrange.com by shopping at amazon.com with our affiliate
https://amazon.midrange.com--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
relatedTo post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
--questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.
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.