|
|
|
Junior Member
      
Group: Forum Members
Last Login: 8/22/2008 11:30:56 AM
Posts: 22,
Visits: 41
|
|
Hi
I am trying to write a function in Teradata SQL Assistant to fetch a character at a time randomly between A to Z.
Can anyone help me in this regard?
Thanks
Dileep
|
|
|
|
|
Forum Member
      
Group: Forum Members
Last Login: 9/12/2008 6:51:28 AM
Posts: 36,
Visits: 70
|
|
There are efficient ways than writing like this(i guess)... But this is one of the way to achive what you want
sel
case when a1=1 then 'A'
when a1=2 then 'B'
when a1=3 then 'C'
end,
random(1,3) as a1
from db_name.a
Regards,
GRR
|
|
|
|
|
Junior Member
      
Group: Forum Members
Last Login: 8/22/2008 11:30:56 AM
Posts: 22,
Visits: 41
|
|
Hi
Am getting some question marks in place of the characters after executing the above query.
And what is that table a?
Thanks
Dileep
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: Today @ 7:30:07 AM
Posts: 197,
Visits: 611
|
|
Hello,
On a very basic level, you can use following:
SELECT RandChar
FROM
(
SELECT
RANDOM(1, 26) AS Rand,
CASE WHEN Rand = 1 THEN 'A'
WHEN Rand = 2 THEN 'B'
WHEN Rand = 3 THEN 'C'
WHEN Rand = 4 THEN 'D'
WHEN Rand = 5 THEN 'E'
WHEN Rand = 6 THEN 'F'
WHEN Rand = 7 THEN 'G'
WHEN Rand = 8 THEN 'H'
WHEN Rand = 9 THEN 'I'
WHEN Rand = 10 THEN 'J'
WHEN Rand = 11 THEN 'K'
WHEN Rand = 12 THEN 'L'
WHEN Rand = 13 THEN 'M'
WHEN Rand = 14 THEN 'N'
WHEN Rand = 15 THEN 'O'
WHEN Rand = 16 THEN 'P'
WHEN Rand = 17 THEN 'Q'
WHEN Rand = 18 THEN 'R'
WHEN Rand = 19 THEN 'S'
WHEN Rand = 20 THEN 'T'
WHEN Rand = 21 THEN 'U'
WHEN Rand = 22 THEN 'V'
WHEN Rand = 23 THEN 'W'
WHEN Rand = 24 THEN 'X'
WHEN Rand = 25 THEN 'Y'
WHEN Rand = 26 THEN 'Z'
END AS RandChar
) QueryAlias1
HTH.
Regards,
Adeel
|
|
|
|
|
Junior Member
      
Group: Forum Members
Last Login: 8/22/2008 11:30:56 AM
Posts: 22,
Visits: 41
|
|
Even then am getting a question mark in my result ....
i wonder why is it !!!
And i hope random() function will not generate the float numbers as in SQL !!!!!!!
Thanks
Dileep
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: Today @ 7:30:07 AM
Posts: 197,
Visits: 611
|
|
Exactly how are you executing the query?
Regards,
Adeel
|
|
|
|
|
Junior Member
      
Group: Forum Members
Last Login: 8/22/2008 11:30:56 AM
Posts: 22,
Visits: 41
|
|
This is the query exactly what i have:
SELECT RandChar
FROM
(
SELECT
RANDOM(1, 26) AS Rand,
CASE WHEN Rand = 1 THEN 'A'
WHEN Rand = 2 THEN 'B'
WHEN Rand = 3 THEN 'C'
WHEN Rand = 4 THEN 'D'
WHEN Rand = 5 THEN 'E'
WHEN Rand = 6 THEN 'F'
WHEN Rand = 7 THEN 'G'
WHEN Rand = 8 THEN 'H'
WHEN Rand = 9 THEN 'I'
WHEN Rand = 10 THEN 'J'
WHEN Rand = 11 THEN 'K'
WHEN Rand = 12 THEN 'L'
WHEN Rand = 13 THEN 'M'
WHEN Rand = 14 THEN 'N'
WHEN Rand = 15 THEN 'O'
WHEN Rand = 16 THEN 'P'
WHEN Rand = 17 THEN 'Q'
WHEN Rand = 18 THEN 'R'
WHEN Rand = 19 THEN 'S'
WHEN Rand = 20 THEN 'T'
WHEN Rand = 21 THEN 'U'
WHEN Rand = 22 THEN 'V'
WHEN Rand = 23 THEN 'W'
WHEN Rand = 24 THEN 'X'
WHEN Rand = 25 THEN 'Y'
WHEN Rand = 26 THEN 'Z'
END AS RandChar
) QueryAlias1
Thanks
Dileep
|
|
|
|
|
Supreme Being
      
Group: Forum Members
Last Login: Today @ 7:30:07 AM
Posts: 197,
Visits: 611
|
|
Can you try running the same in BTEQ and SQL Assistant and check the outputs?
Regards,
Adeel
|
|
| |