データベースのBirthdate列を分割したい。
Returned String from database : dd/mm/yyyy
別々の文字列で各値を取得したいのですが、
date = dd
month = mm
year = yyyy
私はこのようなことを試しましたが、日付が1文字しかないため、これが常に機能するとは限りません。元。2012年4月5日
Birthdate.ToString.Substring(0, 2)
データベースのBirthdate列を分割したい。
Returned String from database : dd/mm/yyyy
別々の文字列で各値を取得したいのですが、
date = dd
month = mm
year = yyyy
私はこのようなことを試しましたが、日付が1文字しかないため、これが常に機能するとは限りません。元。2012年4月5日
Birthdate.ToString.Substring(0, 2)
または、DBから戻ってきた文字列を日付に変換できませんでしたか?Date.Month
その後、などを使用して各コンポーネントパーツにアクセスできます。
Dim mydate As Date = Convert.ToDateTime("21/05/2012")
Console.WriteLine(mydate.Day)
Console.WriteLine(mydate.Month)
Console.WriteLine(mydate.Year)
(a)次のような地域形式を使用しないでください4/5/2012
-4月5日ですか5月4日ですか?わからない場合、SQL Serverはどのようにできますか?
(b)日付として保存されている場合は、実際には何も分割する必要はありません(日付は文字列ではなく日付として保存されています)?したがって、SQL Serverからこれを実行する場合は、次のように言うことができます。
SELECT
[day] = DAY(date_column),
[month] = MONTH(date_column),
[year] = YEAR(date_column)
FROM
(
SELECT CONVERT(DATETIME, date_column, 103)
FROM
(
SELECT '04/05/2012'
UNION ALL SELECT '4/5/2012'
) AS x(date_column)
) AS y;
結果:
day month year
--- ----- ----
4 5 2012
4 5 2012
あなたのコラムがそうなら、DATE
あなたはただ言うことができるはずです:
SELECT
date_column,
[day] = DAY(date_column),
[month] = MONTH(date_column),
[year] = YEAR(date_column)
FROM
dbo.tablename;