[解決済み] SQLで日付を比較するクエリ
質問
私は、11月に起こったすべての日付のテーブルを持っています。 私はこのクエリを書きました
select id,numbers_from,created_date,amount_numbers,SMS_text
from Test_Table
where
created_date <= '2013-04-12'
このクエリは、11月(11月)に起こったことすべてを返すはずです。なぜなら、その出来事は 以前 日付 '2013-04-12' (12月)
しかし、04以下の日に起こった利用可能な日付しか返さない(2013-)。 04 -12)
もしかして、日付全体ではなく、日の部分のみを比較しているのでしょうか?
これを修正するにはどうしたらよいですか?
Created_date は以下のタイプです。 日付
日付の書式はデフォルトで yyyy-dd-MM
解決方法
現地の文化に依存する「2013-04-12」の代わりに、文化不変のフォーマットとして認識される「20130412」を使用します。
12月4日と比較したい場合 th のように、'20130204'と書けばよい。4月12日と比較したい場合 th 20130412'と書いてください。
記事 国際的なTransact-SQLステートメントを書く SQL Server のドキュメントから、文化不変のステートメントの書き方を説明します。
<ブロッククオート他の API を使用するアプリケーション、または Transact-SQL スクリプト、ストアドプロシージャ、およびトリガでは、分離されていない数値文字列を使用する必要があります。例えば、yyyymmddは19980924となります。
EDIT
ADO を使用しているので、クエリをパラメータ化し、日付の値を日付パラメータとして渡すのが最良の方法です。この方法では、書式の問題を完全に回避し、パラメータ化されたクエリのパフォーマンス上の利点も得られます。
アップデイト
ISO 8601形式をリテラルで使用するには、すべての要素を指定する必要があります。引用する場合 datetimeのドキュメントのISO 8601のセクションにあります。
<ブロッククオートISO 8601形式を使用するには、形式内の各要素を指定する必要があります。これには、書式に表示されるT、コロン(:)、ピリオド(.)も含まれます。
... 秒未満の端数はオプションです。時刻は 24 時間制で指定する。
関連
-
[解決済み] SQLエラーです。ORA-00922: オプションがないか無効です。
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] JavaScriptで2つの日付を比較する
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み] 2つの日付の差(日数)を計算する?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] varchar 値 'simple, ' をデータ型 int に変換する際に変換に失敗しました。
-
[解決済み】INTERSECTとINNER JOINは根本的に違うのか?[重複している]
-
[解決済み】SQL Server: 無効なカラム名
-
[解決済み】単一のクエリで加重平均を計算する
-
[解決済み】ORA-01791: SELECTされた式ではない
-
[解決済み] WHERE x IN (5) vs WHERE x = 5 ...なぜINを使うのか?
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] ORA-01779: キーが保存されていないテーブルにマップされる列を変更できません。
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み] トリガーがコンパイルエラーで作成される