von Thorn » Mo, 28.07.2008 08:22
okay ... Abfrage - bearbeiten ... eine freie Spalte nehmen und als "Feld":
( NVL( ASCII( "Day 1" ), 0 ) + NVL( ASCII( "Day 2" ), 0 ) + NVL( ASCII( "Day 3" ), 0 ) + ... NVL( ASCII( "Day 19" ), 0 ) + NVL( ASCII( "Day 20" ), 0 ) ) / 97
eintragen (mit Copy/Paste in der SQL Ansicht geht's schneller), um den Bandwurm später in einen Bericht zu kriegen habe ich ihm einen Alias gegeben ...
ASCII ( character_expression ) ... Returns the ASCII code value of the leftmost character of a character expression. (bei mir "97" für das "a", bzw. irgendwas für ein leeres Feld)
nvl(expr_1, expr_2) ... Returns expr_2 if expr_1 is null and expr_1 otherwise. (da ASCII bei einem leeren Feld keine saubere "0" lieferte, die ich addieren kann bin ich über den NVL gegangen um eine saubere "0" zu bekommen) ...
Ich bin mir ziemlich sicher, dass es einfacher/schneller geht ... wenn es jemand weiss ...
okay ... Abfrage - bearbeiten ... eine freie Spalte nehmen und als "Feld":
( NVL( ASCII( "Day 1" ), 0 ) + NVL( ASCII( "Day 2" ), 0 ) + NVL( ASCII( "Day 3" ), 0 ) + ... NVL( ASCII( "Day 19" ), 0 ) + NVL( ASCII( "Day 20" ), 0 ) ) / 97
eintragen (mit Copy/Paste in der SQL Ansicht geht's schneller), um den Bandwurm später in einen Bericht zu kriegen habe ich ihm einen Alias gegeben ...
ASCII ( character_expression ) ... Returns the ASCII code value of the leftmost character of a character expression. (bei mir "97" für das "a", bzw. irgendwas für ein leeres Feld)
nvl(expr_1, expr_2) ... Returns expr_2 if expr_1 is null and expr_1 otherwise. (da ASCII bei einem leeren Feld keine saubere "0" lieferte, die ich addieren kann bin ich über den NVL gegangen um eine saubere "0" zu bekommen) ...
Ich bin mir ziemlich sicher, dass es einfacher/schneller geht ... wenn es jemand weiss ...