JavaでSQL Serverから今日から2ヶ月前の日付を取得する
SQLクエリ:今日から2ヶ月前の日付を取得する方法
この解説では、SQL Serverを使用して、今日から2ヶ月前の日付を取得する方法を説明します。
方法
以下の2つの方法があります。
DATEADD
関数は、指定された日付に日数、月数、年数を加算または減算するために使用できます。
SELECT DATEADD(month, -2, GETDATE());
このクエリは、今日の日付から2ヶ月を引いて、2ヶ月前の日付を取得します。
SELECT DATE_SUB(GETDATE(), INTERVAL 2 MONTH);
出力例
上記のいずれかのクエリを実行すると、以下の出力が得られます。
2024-02-11
補足
- 上記のクエリは、
GETDATE()
関数を使用して今日の日付を取得しています。 DATEADD
関数とDATE_SUB
関数は、他のデータベースでも使用できますが、構文が異なる場合があります。
-- 必要なライブラリのインポート
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SqlDemo {
public static void main(String[] args) throws SQLException {
// データベースへの接続
Connection connection = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=test", "sa", "Pa$$w0rd");
// SQLクエリの実行
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT DATEADD(month, -2, GETDATE())");
// 結果の取得
while (resultSet.next()) {
System.out.println(resultSet.getDate(1));
}
// 接続のクローズ
resultSet.close();
statement.close();
connection.close();
}
}
- このサンプルコードは、Javaを使用してSQL Serverデータベースに接続し、
DATEADD
関数を使用して今日から2ヶ月前の日付を取得します。 - 接続情報は必要に応じて変更してください。
- サンプルコードを実行するには、Java Development Kit (JDK) がインストールされている必要があります。
実行方法
- サンプルコードをファイルに保存します。
- コマンドプロンプトを開き、以下のコマンドを実行します。
javac SqlDemo.java
java SqlDemo
2024-02-11
- このサンプルコードは、基本的な動作を示すためのものです。実際のアプリケーションでは、エラー処理などが必要になります。
他の方法
今日から2ヶ月前の日付を直接指定することもできます。
SELECT '2024-02-11';
SELECT DATEDIFF(month, GETDATE(), '2024-04-11');
このクエリは、今日の日付と2024年4月11日の間の月数を計算します。結果は2ヶ月になります。
- 直接日付を指定する方法は、日付がわかっている場合にのみ使用できます。
DATEDIFF
関数は、日付間の差を計算するために使用できますが、直接日付を取得するわけではありません。
sql sql-server