全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1046
推到 Plurk!
推到 Facebook!

請問如何把時間的部分裁掉

尚未結案
will
中階會員


發表:176
回覆:135
積分:62
註冊:2002-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-04 19:53:30 IP:218.162.xxx.xxx 未訂閱
小弟使用SQL 2000 為資料庫, 其中的資料表有一個欄位, 記載著學生的出生年月日, 有些學生的出生年月日欄位不知怎麼搞的, 出現了時間 例如: 1995/03/03 下午 02:09:00, 有些則只有日期部分 請問如何把時間的部分裁掉呢?
NO.5
初階會員


發表:18
回覆:35
積分:25
註冊:2005-02-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-04 20:08:28 IP:210.64.xxx.xxx 未訂閱
用FormatDateTime('YYYY-M-D',[出生年月日欄位])處理後,再塞回去或輸出. 試試看!!
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-04 22:48:07 IP:220.132.xxx.xxx 未訂閱
Hi, 可以用 convert 方式, 如 update tablex set birthday = convert(datetime, convert(varchar, birthday, 111))
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-06 15:49:36 IP:220.228.xxx.xxx 未訂閱
插個花,如果你只要日期部份的時間,何不把該欄位型態設為smalldatetime呢?這樣就不會有時間的部份了! Ian
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-06 17:58:56 IP:203.95.xxx.xxx 未訂閱
改為 smalldatetime 仍有時間的部分. smalldatetime 日期及時間資料從西元 1900 年 1 月 1 日到西元 2079 年 6 月 6 日,精準度為分。29.998 秒或更小的 smalldatetime 值將捨棄尾數成為最接近的分;29.999 秒或更大的值將補足尾數成為最接近的分。
BIG-ROM
初階會員


發表:94
回覆:91
積分:37
註冊:2005-04-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-07 01:13:00 IP:219.130.xxx.xxx 未訂閱
//日期時間格式化顯示 function FormatDateTime(const Format: string; DateTime: TDateTime): string; overload; function FormatDateTime(const Format: string; DateTime: TDateTime; const FormatSettings: TFormatSettings): string; overload;    //取字符串任意位置的字符 function Copy(S; Index, Count: Integer): string; function Copy(S; Index, Count: Integer): array;        寫程序——新問題會接踵而來!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-07 09:11:58 IP:202.62.xxx.xxx 未訂閱
您好﹗    也可用DateOf函數把日期時間格式中的日期值取出﹐需引用DateUtils單元﹕
uses DateUtils    Var
  DT1, DT2 : TDateTime;
begin
  DT1 := StrToDateTime('07/05/2005 上午 08:10:00')
  DT2 := DateOf(DT1);  
end;
//DT2的值為﹕01/05/2005
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-09 13:59:07 IP:210.69.xxx.xxx 未訂閱
如果原來是 datetime , 再改成 smalldatetime, 時間部份好像會保留 除非一開始就用 smalldatetime 可考慮 1. 先設定為 smalldatetime, 這樣以後新增的可能就不會有時間部份 2. update tablex set birthday = convert(datetime, convert(varchar, birthday, 111)) 截斷目前資料的時間部份 如果不想動資料庫, 只要顯示部分不要有 時間部份, 可參考 cashxin2002 兄 ********************* 如果您滿意答案,請結案 *********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
系統時間:2024-06-28 2:34:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!