我想在生日列在我的數據庫拆分..分割字符串從SQL Server
Returned String from database : dd/mm/yyyy
我想在一個單獨的琴絃每個值,
date = dd
month = mm
year = yyyy
我試過的東西像這樣..但這不總是工作,因爲某些日期只有一個字符?恩。 2012年4月4日
Birthdate.ToString.Substring(0, 2)
我想在生日列在我的數據庫拆分..分割字符串從SQL Server
Returned String from database : dd/mm/yyyy
我想在一個單獨的琴絃每個值,
date = dd
month = mm
year = yyyy
我試過的東西像這樣..但這不總是工作,因爲某些日期只有一個字符?恩。 2012年4月4日
Birthdate.ToString.Substring(0, 2)
或者,你可以不將字符串從數據庫返回到日期嗎?您可以通過使用Date.Month
隨後訪問的每個組成部分,等
Dim mydate As Date = Convert.ToDateTime("21/05/2012")
Console.WriteLine(mydate.Day)
Console.WriteLine(mydate.Month)
Console.WriteLine(mydate.Year)
好吧!我會嘗試這個,這可能工作! – TheOxblood
可能要使用'ParseExact',只是爲了確保月份和日期不會互換... – Ryan
此代碼工作正常! :) mybdate = Convert.ToDateTime(UserTbl.Rows(0).Item( 「生日」)) cmb_Month.SelectedIndex = mybdate.Month – TheOxblood
(一)你不應該使用區域的格式,如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;
感謝您的投入,但我用的日期設置爲我的專欄生日數據類型? – TheOxblood
@TheOxblood:它的工作原理;你甚至不需要轉換任何東西。再次:變量'Birthdate'的類型是什麼? – Ryan
Dean的答案適合我! :) – TheOxblood
生日是'字符串'嗎?如果它是'String',則不要在其上調用'ToString'。如果它是'日期',則改爲使用其'Day'屬性! – Ryan