dim SQL as String
dim rs As Recordset
SQL = "SELECT WEEKDAYNAME(WEEKDAY(日付フィールド),FALSE) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
WEEKDAYでは定数が返りましたが、WEEKDAYNAMEを使うと曜日名を取得できます。
2番目の引数にFALSEを指定すると、「火曜日」のように曜日の文字が付きます。
TRUEを指定すると、「火」のように曜日の文字は付きません。
スポンサーリンク
2007-10-31
2007-10-30
Tips99 - SQL文 曜日を求める WEEKDAY関数
dim SQL as String
dim rs As Recordset
SQL = "SELECT WEEKDAY(日付フィールド) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
WEEKDAYを使うと下記の定数が返ります。
日曜 : 1
月曜 : 2
火曜 : 3
水曜 : 4
木曜 : 5
金曜 : 6
土曜 : 7
dim rs As Recordset
SQL = "SELECT WEEKDAY(日付フィールド) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
WEEKDAYを使うと下記の定数が返ります。
日曜 : 1
月曜 : 2
火曜 : 3
水曜 : 4
木曜 : 5
金曜 : 6
土曜 : 7
2007-10-27
Tips98 - SQL文 年齢を求める DATEDIFF関数
dim SQL as String
dim rs As Recordset
SQL = "SELECT datediff('yyyy',誕生日フィールド,Now) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
年齢を求めるには今の日付から、誕生日を引きます。
例えば、誕生日フィールドが2007/03/05、今日が2007/10/27 の場合、31が返ります。
又、特定の日付時点での年齢を計算したい場合は、Nowを日付フィールドにしてください。
Excelで年齢早見表を作るのもいいかも。
dim rs As Recordset
SQL = "SELECT datediff('yyyy',誕生日フィールド,Now) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
年齢を求めるには今の日付から、誕生日を引きます。
例えば、誕生日フィールドが2007/03/05、今日が2007/10/27 の場合、31が返ります。
又、特定の日付時点での年齢を計算したい場合は、Nowを日付フィールドにしてください。
Excelで年齢早見表を作るのもいいかも。
2007-10-23
Tips97 - SQL文 経過時間、経過日数を求める DATEDIFF関数
dim SQL as String
dim rs As Recordset
SQL = "SELECT datediff('d',日付フィールド1,日付フィールド2) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
構文は DateDiff(interval, date1, date2) になります。
intervalは算出する単位を指定します。下記になります。
yyyy : 年
q : 四半期
m : 月
y : 年間通算日
d : 日
w : 週日
ww :週
h : 時
n : 分
s: 秒
date1とdate2は計算する2つの日付を指定します。
使用例:
更新日:2007/10/11 、 登録日:2007/03/05
SQL = "SELECT datediff('d',更新日,登録日) FROM テーブル名" の場合 220 が返ります。
SQL = "SELECT datediff('m',更新日,登録日) FROM テーブル名" の場合 7 が返ります。
SQL = "SELECT datediff('yyyy',更新日,登録日) FROM テーブル名" の場合 0 が返ります。
dim rs As Recordset
SQL = "SELECT datediff('d',日付フィールド1,日付フィールド2) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
構文は DateDiff(interval, date1, date2) になります。
intervalは算出する単位を指定します。下記になります。
yyyy : 年
q : 四半期
m : 月
y : 年間通算日
d : 日
w : 週日
ww :週
h : 時
n : 分
s: 秒
date1とdate2は計算する2つの日付を指定します。
使用例:
更新日:2007/10/11 、 登録日:2007/03/05
SQL = "SELECT datediff('d',更新日,登録日) FROM テーブル名" の場合 220 が返ります。
SQL = "SELECT datediff('m',更新日,登録日) FROM テーブル名" の場合 7 が返ります。
SQL = "SELECT datediff('yyyy',更新日,登録日) FROM テーブル名" の場合 0 が返ります。
2007-10-17
Tips96 - SQL文 DateAdd関数で月の最後の日を求める
日付の1日にDateAdd関数でひと月をプラスし、そこからDateAdd関数で1日引くことで求めています。
dim SQL as String
dim rs As Recordset
SQL = "SELECT dateadd('d',-1,dateadd('m',1,format(日付フィールド,'yyyy/mm/01'))) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
実行結果
2007/01/03 の場合 2007/01/31
2007/02/03 の場合 2007/02/28
2007/03/03 の場合 2007/03/31
2007/04/03 の場合 2007/04/30
2007/05/03 の場合 2007/05/31
2007/06/03 の場合 2007/06/30
2007/07/03 の場合 2007/07/31
2007/08/03 の場合 2007/08/31
2007/09/03 の場合 2007/09/30
2007/10/03 の場合 2007/10/31
2007/11/03 の場合 2007/11/30
2007/12/03 の場合 2007/12/31
dim SQL as String
dim rs As Recordset
SQL = "SELECT dateadd('d',-1,dateadd('m',1,format(日付フィールド,'yyyy/mm/01'))) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
実行結果
2007/01/03 の場合 2007/01/31
2007/02/03 の場合 2007/02/28
2007/03/03 の場合 2007/03/31
2007/04/03 の場合 2007/04/30
2007/05/03 の場合 2007/05/31
2007/06/03 の場合 2007/06/30
2007/07/03 の場合 2007/07/31
2007/08/03 の場合 2007/08/31
2007/09/03 の場合 2007/09/30
2007/10/03 の場合 2007/10/31
2007/11/03 の場合 2007/11/30
2007/12/03 の場合 2007/12/31
Tips95 - SQL文 日付の加算・減算を行う。 DateAdd関数
構文は、DateAdd(interval, number, date) になります。
intervalは時間間隔を表す文字列式を指定します。
ここに時間を指定することで、時・分・秒の時刻も計算できます。
numberは時間間隔の数を表す数値を指定します。加算は正の数を指定し、減算は負の数を指定します。
dateは計算対象の日付を指定します。
intervalは下記の文字で指定します。
yyyy : 年
q : 四半期
m : 月
y : 年間通算日(間の日数)
d : 日
w : 週日
ww : 週
h : 時
n : 分
s : 秒
日付に1日プラスした使用例
dim SQL as String
dim rs As Recordset
SQL = "SELECT dateadd('d',1,日付フィールド) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
実行結果
・年
DateAdd("yyyy", 1, "2007/01/01") の場合 2007/01/01
DateAdd("yyyy", -1, "2007/01/01") の場合 2006/01/01
・四半期
DateAdd("q", 1, "2007/01/01") の場合 2007/04/01
DateAdd("q", -1, "2007/01/01") の場合 2006/10/01
・月
DateAdd("m", 1, "2007/01/01") の場合 2007/02/01
DateAdd("m", -1, "2007/01/01") の場合 2006/12/01
・年間通算日
DateAdd("y", 1, "2007/01/01") の場合 2007/01/02
DateAdd("y", -1, "2007/01/01") の場合 2006/12/31
・日
DateAdd("d", 1, "2007/01/01") の場合 2007/01/02
DateAdd("d", -1, "2007/01/01") の場合 2006/12/31
・週日
DateAdd("w", 1, "2007/01/01") の場合 2007/01/02
DateAdd("w", -1, "2007/01/01") の場合 2006/12/31
・週
DateAdd("ww", 1, "2007/01/01") の場合 2007/01/08
DateAdd("ww", -1, "2007/01/01") の場合 2006/12/25
・時
DateAdd("h", 1, "2007/01/01") の場合 2007/01/01 1:00:00
DateAdd("h", -1, "2007/01/01") の場合 2006/12/31 23:00:00
・分
DateAdd("n", 1, "2007/01/01") の場合 2007/01/01 1:00:00
DateAdd("n", -1, "2007/01/01") の場合 2006/12/31 23:59:00
・秒
DateAdd("s", 1, "2007/01/01") の場合 2007/01/01 1:00:00
DateAdd("s", -1, "2007/01/01") の場合 2006/12/31 23:59:59
intervalは時間間隔を表す文字列式を指定します。
ここに時間を指定することで、時・分・秒の時刻も計算できます。
numberは時間間隔の数を表す数値を指定します。加算は正の数を指定し、減算は負の数を指定します。
dateは計算対象の日付を指定します。
intervalは下記の文字で指定します。
yyyy : 年
q : 四半期
m : 月
y : 年間通算日(間の日数)
d : 日
w : 週日
ww : 週
h : 時
n : 分
s : 秒
日付に1日プラスした使用例
dim SQL as String
dim rs As Recordset
SQL = "SELECT dateadd('d',1,日付フィールド) FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)
実行結果
・年
DateAdd("yyyy", 1, "2007/01/01") の場合 2007/01/01
DateAdd("yyyy", -1, "2007/01/01") の場合 2006/01/01
・四半期
DateAdd("q", 1, "2007/01/01") の場合 2007/04/01
DateAdd("q", -1, "2007/01/01") の場合 2006/10/01
・月
DateAdd("m", 1, "2007/01/01") の場合 2007/02/01
DateAdd("m", -1, "2007/01/01") の場合 2006/12/01
・年間通算日
DateAdd("y", 1, "2007/01/01") の場合 2007/01/02
DateAdd("y", -1, "2007/01/01") の場合 2006/12/31
・日
DateAdd("d", 1, "2007/01/01") の場合 2007/01/02
DateAdd("d", -1, "2007/01/01") の場合 2006/12/31
・週日
DateAdd("w", 1, "2007/01/01") の場合 2007/01/02
DateAdd("w", -1, "2007/01/01") の場合 2006/12/31
・週
DateAdd("ww", 1, "2007/01/01") の場合 2007/01/08
DateAdd("ww", -1, "2007/01/01") の場合 2006/12/25
・時
DateAdd("h", 1, "2007/01/01") の場合 2007/01/01 1:00:00
DateAdd("h", -1, "2007/01/01") の場合 2006/12/31 23:00:00
・分
DateAdd("n", 1, "2007/01/01") の場合 2007/01/01 1:00:00
DateAdd("n", -1, "2007/01/01") の場合 2006/12/31 23:59:00
・秒
DateAdd("s", 1, "2007/01/01") の場合 2007/01/01 1:00:00
DateAdd("s", -1, "2007/01/01") の場合 2006/12/31 23:59:59
2007-10-12
Tips94 - SQL文 Format関数 その6 その他いろいろな書式
・郵便番号の書式
SQL = " SELECT Format(郵便番号フィールド名 , '@@@-@@@@') FROM テーブル名 "
3456789 の場合 345-6789 になります。
・省略形の英語曜日
SQL = " SELECT Format(日付フィールド名 , 'ddd') FROM テーブル名 "
2007/12/03 の場合 Mon になります。
・英語曜日
SQL = " SELECT Format(日付フィールド名 , 'dddd') FROM テーブル名 "
2007/12/03 の場合 Monday になります。
・省略形の曜日
SQL = " SELECT Format(日付フィールド名 , 'aaa') FROM テーブル名 "
2007/12/03 の場合 月 になります。
・曜日
SQL = " SELECT Format(日付フィールド名 , 'aaaa') FROM テーブル名 "
2007/12/03 の場合 月曜日 になります。
・四半期
SQL = " SELECT Format(日付フィールド名 , 'q') FROM テーブル名 "
2007/12/03 の場合 4 になります。
・¥での金額書式
SQL = " SELECT Format(金額フィールド名 , '\\#,##0') FROM テーブル名 "
67335 の場合 \67,335 になります。
・円を付けた金額書式
SQL = " SELECT Format(金額フィールド名 , '#,##0\円') FROM テーブル名 "
67335 の場合 67,335円 になります。
SQL = " SELECT Format(郵便番号フィールド名 , '@@@-@@@@') FROM テーブル名 "
3456789 の場合 345-6789 になります。
・省略形の英語曜日
SQL = " SELECT Format(日付フィールド名 , 'ddd') FROM テーブル名 "
2007/12/03 の場合 Mon になります。
・英語曜日
SQL = " SELECT Format(日付フィールド名 , 'dddd') FROM テーブル名 "
2007/12/03 の場合 Monday になります。
・省略形の曜日
SQL = " SELECT Format(日付フィールド名 , 'aaa') FROM テーブル名 "
2007/12/03 の場合 月 になります。
・曜日
SQL = " SELECT Format(日付フィールド名 , 'aaaa') FROM テーブル名 "
2007/12/03 の場合 月曜日 になります。
・四半期
SQL = " SELECT Format(日付フィールド名 , 'q') FROM テーブル名 "
2007/12/03 の場合 4 になります。
・¥での金額書式
SQL = " SELECT Format(金額フィールド名 , '\\#,##0') FROM テーブル名 "
67335 の場合 \67,335 になります。
・円を付けた金額書式
SQL = " SELECT Format(金額フィールド名 , '#,##0\円') FROM テーブル名 "
67335 の場合 67,335円 になります。
2007-10-08
Tips93 - SQL文 Format関数 その5 時間の各種書式
SQL = " SELECT Format(日付/時刻型フィールド名 , '書式') FROM テーブル名 "
「2007/12/03 13:04:36」の場合の使用例
h:n:s: - 13:4:36
hh:nn:ss: - 13:04:36
AM/PM hh:nn:ss - PM 01:04:36
am/pm hh:nn:ss - pm 01:04:36
A/P hh:nn:ss - P 01:04:36
a/p hh:nn:ss - p 01:04:36
「2007/12/03 13:04:36」の場合の使用例
h:n:s: - 13:4:36
hh:nn:ss: - 13:04:36
AM/PM hh:nn:ss - PM 01:04:36
am/pm hh:nn:ss - pm 01:04:36
A/P hh:nn:ss - P 01:04:36
a/p hh:nn:ss - p 01:04:36
2007-10-04
Tips92 - SQL文 Format関数 その4 日付の各種書式
SQL = " SELECT Format(日付フィールド名 , '書式') FROM テーブル名 "
使用例
yyyy.mm.dd: 2007.12.03
yyyy.m.d: 2007.12.3
yy.mm.dd: 07.12.03
yy.m.d: 07.12.3
''yy.mm.dd: '07.12.03
''yy.m.d: '07.12.3
yyyy/mm/dd: 2007/12/03
yyyy/m/d: 2007/12/3
yy/mm/dd: 07/12/3
yy/m/d: 07/12/3
gee.mm.dd: H19.12.03
gee.m.d: H19.12.3
e.mm.dd: 19.12.03
e.m.d: 19.12.3
ggee.mm.dd: 平19.12.03
ggge.m.d: 平成19.12.3
yy年mm月dd日: 07年12月03日
yy年m月d日: 07年12月3日
yyyy年mm月dd日: 2007年12月03日
gee年mm月dd日: H19年12月03日
gggee年mm月dd日: 平成19年12月03日
mm月dd日: 12月03日
使用例
yyyy.mm.dd: 2007.12.03
yyyy.m.d: 2007.12.3
yy.mm.dd: 07.12.03
yy.m.d: 07.12.3
''yy.mm.dd: '07.12.03
''yy.m.d: '07.12.3
yyyy/mm/dd: 2007/12/03
yyyy/m/d: 2007/12/3
yy/mm/dd: 07/12/3
yy/m/d: 07/12/3
gee.mm.dd: H19.12.03
gee.m.d: H19.12.3
e.mm.dd: 19.12.03
e.m.d: 19.12.3
ggee.mm.dd: 平19.12.03
ggge.m.d: 平成19.12.3
yy年mm月dd日: 07年12月03日
yy年m月d日: 07年12月3日
yyyy年mm月dd日: 2007年12月03日
gee年mm月dd日: H19年12月03日
gggee年mm月dd日: 平成19年12月03日
mm月dd日: 12月03日
2007-10-02
Tips91 - SQL文 Format関数 その3 英字を小文字・大文字に変換
・小文字に変換
SQL = " SELECT Format(英字フィールド名 , '<') FROM テーブル名 "
format('HOMERUN','<') の場合: homerun
format('HOMERUN','<') の場合(全角): homerun
・大文字に変換
SQL = " SELECT Format(英字フィールド名 , '>') FROM テーブル名 "
format('Sotte Bosse','>') の場合: SOTTE BOSSE
format('Sotte Bosse','>') の場合(全角): SOTTE BOSSE
SQL = " SELECT Format(英字フィールド名 , '<') FROM テーブル名 "
format('HOMERUN','<') の場合: homerun
format('HOMERUN','<') の場合(全角): homerun
・大文字に変換
SQL = " SELECT Format(英字フィールド名 , '>') FROM テーブル名 "
format('Sotte Bosse','>') の場合: SOTTE BOSSE
format('Sotte Bosse','>') の場合(全角): SOTTE BOSSE
登録:
投稿 (Atom)