• 締切済み

NULLの回避

Kuppycatの回答

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.1

日付の書式を変えてみてはどうでしょうか。 2007-09-06 → 2007/09/06 インポート時の型変換に失敗しているように思われるので。 あとは[SQL Serverインポートおよびエクスポート・ウィザード]を使うとか。

参考URL:
http://itpro.nikkeibp.co.jp/article/COLUMN/20070725/278293/

関連するQ&A

  • datetime型でNULL値を入れたい。

    現在SQLserver上で、、CSVを一時テーブルに保管し、ある条件に合致する行のみTBLに追加するというストアドを書いています。そのTBLには「datetime型」の列があります。 この作業で、2点問題が発生しています。 (1)CSVファイルから一時テーブルにデータを入れようとすると、datetime列がNULLの場合、型の不一致でエラーが発生します。 (2)上記において、一時テーブルの型をとりあえずvarcharにしておくと入れれるのですが、TBLに追加しようとする際、「convert(datetime,変数)」としているのですが、上手くキャストしてくれません。(「文字列から日付への変換に失敗しました」のような文がでます) どのようにすれば、NULLでもdatetimeに入れられるのでしょうか?教えてください。

  • CSVからNULL値をインポート

    phpMyAdminを使用してcsvからデータをインポートしようとしています。 通常の値は問題なくインポートできるのですが、NULL値があるフィールドがどうしても「0」になってしまいます。(そのフィールドはNULL値が入力可で、デフォルト値もNULLです) csvからNULL値をインポートする方法をご教授下さい。 宜しくお願いします。 ※\Nを入力するとNULLになるという情報があったため、 "1";"2";"3";"4";\N "1";"2";"3";"4";"\N" (1.2.3.4は適当な文字で、5番目をNULLにしたい) の両方を試みましたが、入力結果は「0」でした。 phpMyAdmin - 2.10.2 MySQL クライアントのバージョン: 5.0.18 フィールド区切り記号 ; フィールド囲み記号 ""

    • ベストアンサー
    • MySQL
  • テキストデータでNULL?

    こんにちは。会社の人がテキストエディタでファイルを開いて、このデータはNULLが入っているからおかしいとかブツブツ言っていました。 データの中身はバイナリデータではなく、固定長、またはCSVファイルのような事を言っていました。 そこで疑問に思ったのですが、固定長、またはCSVでNULLなんてあるんでしょうか?たぶん、空文字列の事をさしてNULLと言っているような気がするのですが、テキストデータにNULLは存在するのでしょうか?

  • 100万レコード規模のaccessDBテーブルからNullを置換する方法

    半角スペースを含むcsvファイルを、accessのテーブルとしてインポートした際、スペースがnullとして扱われてしまいます。 これを0文字の空白に置換しているのですが、時間がかかり、かつ、成功したのかどうかよく分からないために困っています。 下記の2つの方法でnullを0文字の空白に変換してみたのですが、レコード数が多すぎるのか、置換がすべて成功していない模様です。  テーブルのフィールドを選択し、「置換」する  フィールドのnullを見つけ、更新するクエリーを書く できれば、インポート元のcsvファイルやインポート後のテーブルを分割させずにメンテナンスを行いたいのですが、こういう場合に有効な対処方法というのはどのようなものがあるのでしょうか?  1.置換を高速化するアイディア  2.インポート段階で変換する方法があるかどうか?  3.置換結果を確認する方法 私は今までデータベースというものを全く使ったことがないので、これ以上のことがわかりません。ぜひ、専門家のご意見を頂きたいと思います。 よろしくお願いいたします。 【csvファイル仕様】  データ規模:100万行、1行あたり10~20列   元データはフィールド毎に固定長  データ形式:テキスト型、長整数型が混在   複数のテキスト型フィールドに半角スペースを含む   長整数型のフィールドは0を含む 【mdbファイル仕様】  マスタテーブルを格納する。他のmdbにあるクエリから参照される。  テーブル形式   テキスト型フィールド:255文字(今のところ・・・)   数値型フィールド:長整数型  規模:   インポート後のmdbサイズは1テーブルあたり300MB程度。   そのmdbは同規模のテーブルを最高3程度まで保持する。 【使用環境条件】  OS:windows XP 最新SP  DB:Access 2003   mdbファイルはネットワーク上にある。   ローカルHDDにコピーして作業することは可  CPU:Celeron 2.0GHz  Memory:2GB Memory  HDD:空き40GB以上

  • PostgreSQLからSQLServerへの移行

    PostgreSQLからSQLServerへデータを移行することになったのですが、 どのような方法が効率よいでしょうか? PostgreSQLへ直接つなぐことができないので、 ダンプをとって、SQLServerにデータを流し込む。 (そもそもこのようなことができるのか・・・?) CSV形式でデータを出力し、SQLServerの方でインポートする など方法がいくつかあると思うのですが。 なにぶんPostgreSQLに詳しくないもので、 教えていただけないでしょうか。

  • SSISでcsvファイルを読み込み、スクリプトで文字変換を行い、csvファイルを出力したいです

    SSIS初心者です。 SSISでcsvファイルを読み込み、スクリプト コンポーネントでC#やVB.netを使用し、小文字を大文字に変換したり、文字置換等の文字変換を行い、csvファイルを出力したいのです。 ネットで調べて見たのですが、SSISの情報が少なくどのようにソースを書いたらよいのかわからず大変困っています。 ご教示頂けましたら、助かります。 宜しくお願い致します。

  • Null値が入れられない

    種別:Decimal(18,2) 属性:UNSIGNED NULL:はい デフォルト値:NULL のフィールドがあります。phpMyAdminを通じてデータを入力しております。Null値のチェックを入れれば良いのですが、空白のまま残したおいた場合には、デフォルト値であるNull値が格納されるものと思っておりましたが、空白ですと0.00に変換されてしまします。 また、同時に、スクリプトの方ではjqGridを使用しているのですが、こちらの方でデータ編集をする際には、Null値のチェックボタンはありませんので、空白のままで更新しなければなりません。上記と同様に、空白にしておくと、0.00に変換されてしまいます。 Null値を入れるためには、どのような方法があるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • MySQL
  • matlabによるNULL文字を知りたいのですがお願いします。

    現在、matlabにより、複数のcsvファイルをループして画像化にしています。 複数あるcsvファイルをループで読み込みする時、被験者ごとにcsvファイルの数が違います。 よって始めの宣言で大量のcsvファイルの個数を宣言して、ループします。 csvがNULLになるときに処理が中止するようにしたいと思います。 (これにより一回一回、csvの数を宣言しなくて済みます。) この時のNULLに当たるものが見つからなくて困っています。 //////////////////////////////////////////////////////// clear all; j=1000;%配列の行列数 jj=10; %csvの数 実際の数はもっと少ない test=[]; A=[0,0]; %空行列 ここの空行列AではNULLにはできない for k=1:jj test=load(sprintf('test%02d.csv',k)');%kの値を%02dに上書き if test== %NULL or A or EOF or '' ? break; %NULLになったら次のfor文へと進む else ・・・・ //////////////////////////////////////////////////////// 上のソースの最後から3番目の if test== の後にNULLになるのを入れたいと考えています。 どなたか知っている方、どうかよろしくお願いします。

  • NetscapeでのCSVインポート

    CSV形式のデータの中に、EMAILアドレスがあるので、インポートしようとしています。 OUTLOOKはできましたが、Netscapeはインポート中に、「インポートができなかったので 変換ファイルのldifファイルを保存し、それをインポートしてください。」というメッセージ が表示され、言われた通りの操作をしたつもりですが、ファイルを選択して、開くボタンを クリックしても、アドレス帳の画面に戻り、何の表示もありません。なぜインポートできないの でしょう?よろしくお願いします。

  • MySQL Date型にNULLが設定できない。

    csvファイルからMySQLにデータを取り込む際に、Date型やint型にNULLを設定するにはどうしたらよいでしょうか。 以下のようなテーブルに | tTest | CREATE TABLE `ttest` ( `ID` bigint(20) NOT NULL, `title` text NOT NULL, `naiyou` varchar(100) DEFAULT NULL, `kaishi` date DEFAULT NULL, `owari` date DEFAULT NULL, `peirod` bigint(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=sjis | 以下のようなcsvファイルを読み込んだとき(*)、 10,テスト,2008-04-05,2009-04-23,43 11,テスト,2008-04-05,NULL,43 12,テスト,2008-04-05,2009-04-23,NULL 2行目のNULLで ERROR 1292 (22007): Incorrect date value: 'NULL' for column .... とエラーが発生します。 3行目のNULLでもint型ですが同様にエラーとなります。 一方、insertで行の追加以下のようにした場合は成功します。 insert into tTest values (12,テスト,'2008-04-05',NULL,NULL) 外部ファイルから読み込んだ場合にNULL値を設定するにはどのようにしたらよいのでしょうか。 (*)以下のコマンド LOAD DATA INFILE "E:\\work\\MySQL\\sample.csv" INTO TABLE tTest FIELDS TERMINATED BY "," LINES TERMINATED BY "\r\n";

    • ベストアンサー
    • MySQL