2017-04-05 9 views
0

を削除するには、私が "Weather.txt" これらの列の一部とSQL:ヌル文字列

CREATE TABLE weather 
    ( 
    year   INTEGER, 
    month   INTEGER, 
    day   INTEGER, 
    "max temp"  REAL, 
    "min temp"  REAL, 
    "mean temp" REAL, 
    "total precip" REAL 
); 

呼ば

CREATE TABLE aux1 
    ( 
    "date/time"   DATE, 
    year     INTEGER, 
    month     INTEGER, 
    day     INTEGER, 
    "data quality"   TEXT, 
    "max temp"    REAL, 
    "max temp flag"  TEXT, 
    "min temp"    REAL, 
    "min temp flag"  TEXT, 
    "mean temp"   REAL, 
    "mean temp flag"  TEXT, 
    "heat deg days"  REAL, 
    "heat deg days flag" TEXT, 
    "cool deg days"  REAL, 
    "cool deg days flag" TEXT, 
    "total rain"   REAL, 
    "total rain flag"  TEXT, 
    "total snow"   REAL, 
    "total snow flag"  TEXT, 
    "total precip"   REAL, 
    "total precip flag" TEXT, 
    "snow on grnd"   REAL, 
    "snow on grnd flag" TEXT, 
    "dir of max gust"  REAL, 
    "dir of max gust flag" TEXT, 
    "spd of max gust"  REAL, 
    "spd of max gust flag" TEXT 
); 
の過去の気象データと

と別の "aux1.txt" 2つのテーブルを持っています。 Max Temp、Min Temp、Mean Temp、Total Precipフィールドがすべて空でない場合にのみ、Weatherのaux1から関連するすべての列を挿入したいと思います。

INSERT INTO weather 
SELECT "max temp"  REAL, 
     "min temp"  REAL, 
     "total precip" REAL 
FROM aux1 
WHERE "max temp" IS NOT NULL 
     AND "max temp" <> "" 

をし、それが、これは「最大温度」のために働くかのように思えるが、私は他のすべてのための賢明なこの構文をやって継続するかどうかはわかりません。これまでのところ私は持っています。どんな方向にも感謝しています!

おかげ

+0

'' ma x temp "は' REAL'ですが、これはどのように '' ''になりますか? – vol7ron

答えて

0

なぜ単に:

... and "Min Temp" is not null and "Min Temp" <> "" ... etc. 
0
INSERT INTO weather 
SELECT "max temp"  REAL, 
     "min temp"  REAL, 
     "total precip" REAL 
FROM aux1 
WHERE "max temp"  IS NOT NULL AND 
     "min temp"  IS NOT NULL AND 
     "total precip" IS NOT NULL 
  • は、REALは、文字列ではないので、field <> ""
  • をチェックする理由は、それからちょうどあなたの他のフィールドもいないことを確認してくださいませんnull