Ich habe die Tabelle players, die aus drei Spalten besteht;

Erstens: playerID: 1,2,3;

Zweitens: playerTeam: Honda,Ferrari,Mercedes;

Drittens: Age: 22,29,31;

Ich brauche zwei Schreibanfragen.

Erstens: Drucken Sie (SELECT) alle Zahlenfelder aus der Tabelle players.

Zweitens: Drucken Sie (SELECT) alle Textfelder aus der Tabelle players.

Irgendwelche Ideen?

0
игор саркисов 24 Feb. 2020 im 11:44

3 Antworten

Beste Antwort

Schreiben Sie die select-Anweisungen einfach so, wie Sie sie beschreiben:

SELECT playerID, Age FROM players;
SELECT playerTeam FROM players;
0
Nicola Lepetit 24 Feb. 2020 im 09:14

Zuerst Wenn Sie die einzige Ziffer aus der Spalte auswählen möchten, können Sie dies tun

 SELECT column1 FROM table WHERE Isnumeric(column1);

Zweiter für nur Textfeld auswählen

SELECT usr_user_id FROM user WHERE usr_user_id REGEXP '[a-zA-Z]';
0
Kwi 24 Feb. 2020 im 09:17

Dies hilft beim Sammeln der Spalten aus der Datenbank mithilfe des Datentypfilters. Versuche dies.

declare @stringcolumns nvarchar(4000)
declare @numbercolumns nvarchar(4000)

select @stringcolumns= 
    'select '+ stuff((select ','+name from sys.all_columns where object_id=object_id('players')
  and type_name(user_type_id) in ('varchar','nvarchar','char','nvarchar')
    for   xml path('')),1,1,'') + ' from players'

select @numbercolumns= 
   'select ' +  stuff((select ','+name from sys.all_columns where object_id=object_id('players')
  and type_name(user_type_id) in ('numeric','int')
    for   xml path('')),1,1,'') +' from players'

execute sp_executesql @stringcolumns
execute sp_executesql @numbercolumns

So ändern Sie den Datentyp als Ihre Anforderung im folgenden Codeabschnitt


type_name(user_type_id)  in ('varchar','nvarchar','char','nvarchar')
0
Balamurugan Annamalai 24 Feb. 2020 im 12:26