TSQL Felder konvertieren, aber nicht alle Felder angeben


EuroCent

Erfahrenes Mitglied
#1
Hallo zusammen,

ich habe in einer Tabelle den Datenfeldtype: Text.
Zum einen gibt es Inhalt als Datum "00.00.2019" und dann den Timestamp als String.

Nun möchte Ich aber eine Abfrage los schicken, ohne die Felder separat angeben zu müssen.
Also Beispielsweise möchte ich aus:
SQL:
select top 100
    CASE WHEN CONVERT(varchar(MAX), FELD_X) > '1' THEN [dbo].[unix2date_DD_MM_YYYY](CONVERT(varchar(MAX), FELD_X)) ELSE CONVERT(varchar(MAX), FELD_X) END as fehlerzeit_x,
    FELD_XY,
    FELD_YZ,
    FELD_XZ
from
zu:
SQL:
select top 100
    CASE WHEN CONVERT(varchar(MAX), FELD_X) > '1' THEN [dbo].[unix2date_DD_MM_YYYY](CONVERT(varchar(MAX), FELD_X)) ELSE CONVERT(varchar(MAX), FELD_X) END as fehlerzeit_x,
    *
from
Dabei sollte aber FELD_X in der Wildard * nicht mehr kommen :/
 

Yaslaw

n/a
Moderator
#2
Ich kenn TSQL nicht. Aber ich kenne auch kein SQL, in dem das funktioniert. Mit * ist eigentlich immer Alles.
Aber was stört es, wenn FELD_X ausgegeben wird?
 

EuroCent

Erfahrenes Mitglied
#3
An sich stört es nicht, aber irgendwie nimmt "order by" das Feld nicht an oO
Ist total merkwürdig... :O

Als Fehler kommt wenn Ich folgende SQL nutze:

SQL:
select top 100
    CASE WHEN CONVERT(varchar(MAX), FELD_X) > '1' THEN [dbo].[unix2date_DD_MM_YYYY](CONVERT(varchar(MAX), FELD_X)) ELSE CONVERT(varchar(MAX), FELD_X) END as FELD_X,
    *
from
    TABELLE_X
order by FELD_X DESC
Error converting data type varchar to bigint.
 

Zvoni

Erfahrenes Mitglied
#4
SELECT * EXCEPT
Wie ich es verstanden habe, gibt es das nicht *glaub*, aber bei dem Link gibt es einige interessante Ideen.
Am Ende läuft es auf Dynamic SQL hinaus, wobei die Variante, im INFORMATION_SCHEMA nachzuschauen durchaus Charme hat
 

Zvoni

Erfahrenes Mitglied
#7
Was ich nicht verstehe: Wo versuchst du einen Text in einen BigInt zu konvertieren? Weil das ist es, was deine Fehlermeldung impliziert!
 

EuroCent

Erfahrenes Mitglied
#8
Was ich nicht verstehe: Wo versuchst du einen Text in einen BigInt zu konvertieren? Weil das ist es, was deine Fehlermeldung impliziert!
Genau das ist es ja oO
Mach Ich das Case nicht und nur das Feld_X dann macht er es wenn Ich es converte...

Total komisch.

Ich lass einfach das Datenfeld ummünzen, ist mir sonst zu Doof :D