-1

データベースのBirthdate列を分割したい。

Returned String from database : dd/mm/yyyy

別々の文字列で各値を取得したいのですが、

date = dd
month = mm
year = yyyy

私はこのようなことを試しましたが、日付が1文字しかないため、これが常に機能するとは限りません。元。2012年4月5日

Birthdate.ToString.Substring(0, 2)
4

2 に答える 2

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)
于 2013-01-19T18:33:04.863 に答える
1

(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;
于 2013-01-19T18:34:06.840 に答える