- ベストアンサー
日付のデータ型についての疑問
- 日付のデータ型が異なる場合、同じ日付でもマッチングしないことがあります。
- SQL 2008では、smalldatetimeは1990/1/1を起点とし、datetimeは1753/1/1を起点とします。
- ACCESS 2003では、dateは100/1/1を起点とします。なぜdate型のフィールドではマッチしないのか疑問です。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- Datetime型とDate型
SQLServer2008 ですが、日付のフィールドにこれまで使っていたDatetime型をDate型にしてみました。 連結Formでの画面表示が「2009/07/27」→「2009-07-27」に変わりました。 テーブルの表示時も同様に「-」になりました。 Dim wk_date date if SQL_date = wk_date then ・・・ 上記のAccessVABのIF文で・・・ 実際には同じ日付なのにマッチしなくなってしまいました。 Format関数で「yyyy-mm-dd」へ変換すればマッチします。 上記のwk_dateをSQLのフィールドに代入し書き込むとエラーにならず 「yyyy-mm-dd」の形へ変換されています。 質問 (1) 「-」でなく今まで通りの「/」にする事は出来ないでしょうか? (2) 比較時は変換するしかないのでしょうか? (代入時は自動的に変換できているのに比較時も自動でやってくれても良さそうなんですが・・・)
- ベストアンサー
- SQL Server
- 日付だけを見てデータをSELECTしたい
お世話になっております。 開発環境:MySQL3.23.58にて、DATETIME型で日付をYYYY-MM-DD hh:mm:ssで登録しています。 そこから、下のように SELECT * FROM テーブル名 WHERE DATE( フィールド名 ) = '2007-09-12'; などと、日付だけを見てデータを抽出したい(時間は無視したい)のですが、マニュアルを見ると 『DATE() は MySQL 4.1.1 以降で使用できる。』 と書いてあり、やり方が分からず途方にくれております。 上記環境下で、うまく日付のみを見てデータを抽出する術は無いものでしょうか。 アドバイスをいただけたらと思います。 よろしくお願い致します。
- ベストアンサー
- MySQL
- 「システム日付」を挿入する
フィールドに「システム日付」を挿入するSQLを作成する方法が分かりません。 GETDATE()という関数を使えばいいらしいですが、どのようにすれば良いでしょうか? INSERT文を使ってdatetime型の値が入る列に挿入するという形式です。
- ベストアンサー
- SQL Server
- ACCESSの日付について
こんにちは。 Access2000を使用しています。 フォームで、完了のチェックをしたときに[完了日]のフィールドに 今日の日付を取得するようにしたいのですが、 (1)マクロで、値の代入-[完了日]のフィールドに=Dateで 日付を入れるようにしました。 (2)フォームのチェックボックスをクリックすると、上記のマクロが 実行されるようにした。 を行うと、1899年などという日付がでてきます。 パソコンの内蔵時計を確認しましたが、2002年の今日の日付に なっています。 どなたかよろしくお願いします。
- 締切済み
- オフィス系ソフト
- フィールドプロパティの規定値で日付関数を使うには
フィールドプロパティ規定値で日付関数を使うにはどうしたらよいでしょう?(アクセスプロジェクト) SQL Server 超初心者です。 アクセスならdate()やnow() ですが、これだと dateは関数名として認識されません・・とエラーになります。
- ベストアンサー
- SQL Server
- Access SQL日付時間型検索
Accessで以下SQLを書いたのですが SQLC = "SELECT * FROM tbl_data where date_end = #"&tmp_date_end&"#" ”引数が間違った型、許容範囲外、または競合しています。 ” とですます。 何か書き方の誤りがあるのでしょうか? テーブル名 tbl_data のフィールド名date_end から変数tmp_date_endと同一データ検索文です。 DBの型は日付時間型です。 変数はyyyy/mm/ddです。
- 締切済み
- その他MS Office製品
- 日付時刻型の比較
お世話になります。コンピュータ歴が短いもので質問の意味がよくわからないかもしれませんがよろしくおねがいします。 accessのDB「テーブル1」に日付時刻型のフィールド「フィールド1」があり、 2001/00/00 00:00:00の形式でデータが入っています。 テーブル1のデータで、1ヶ月前のデータより新しいもののみをVBScriptで抜き出したいのですが、下記のようにDATEADD関数で変数1に1ヶ月前の日付を代入し、それと比較しようとしましたが、うまくいきませんでした。 変数1 = DATEADD("m" ,-1 ,NOW) Set rs = Server.CreateObject("ADODB.RecordSet") sql = "SELECT * FROM テーブル1 WHERE フィールド1 >= 変数1" 変数1をResponse.Writeすると見た目は同じ形式で入っていました。 変数1の部分を手書きで#2001/00/00 00:00:00#と書けばうまく動いてくれるの ですが・・・ 変数の値を型変換しなければいけないのでしょうか? 良い方法がありましたら教えてください。
- ベストアンサー
- Microsoft ASP
- 日付や日時を格納する場合の型はどうしていますか?
WEBアプリケーションで データベース(MySQL)を使うのですが、 日付や日時を格納する場合の型は varchar(10)、date、datetime のどれにしていますか? 文字型と日付型か迷っているので、 メリット、デメリットがあれば知りたいです。
- ベストアンサー
- MySQL
- SQL Serverへの日付のINSERT文
VB6 SP6でSQLServerのdatetimeに日付をinsertしたいのですが、 VBのDate型の DATE = #2008/02/06# '日付 TIME = #19:00:00# '時間 これをどのようにすれば書き込めるのでしょうか。 環境 WindowsXP Pro SP2 Visual BASIC 6.0 SP6 SQL Server 2005 Express Edition
- 締切済み
- Visual Basic
- Accessの日付/時刻型のデータ変換について
Accessで日付/時刻型で持っているデータを整数型に変換したいと思っておりますがうまくいきません。 日付/時刻型の「時刻(S)」でテーブル上にデータを入れています。これを整数に変換したいと思っています。 例)10:20 → 1020 そこで、 CInt([変換したいフィールド名]) をクエリで実行してみたのですが、結果は「0」、「1」、「#エラー」が表示され、変換したい形に変換することができませんでした。 どのようにしたら、例にある変換の仕方ができるのか教えて頂けますでしょうか。宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございます。 smallもやめて、全て Datetime型 に統一する事にします。