上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
walter_yang
註冊時間: 2004-10-18 文章: 17
第 1 樓
|
發表於: 星期五 六月 24, 2005 11:00 pm 文章主題: 有關Date()及Datetime()的問題請教 |
|
|
SQL Server中似乎只有Datetime而沒有Date的資料型態,我目前在做一個員工基本資料的表單,其中有一個欄位是「出生年月日」,我在SQL Serve中將它設定為Datetime的資料型態,結果到了表單輸入或查詢顯示時這個textbox總是顯示像是1980/01/01 00:00:00的樣式,看起來很不自在,我在討論區內找不到相關的解決方法,是不是有高手可以提供,謝謝 |
|
回頂端 |
|
 |
朱育興
註冊時間: 2003-08-25 文章: 661 來自: 台中市大里區
第 2 樓
|
發表於: 星期六 六月 25, 2005 2:40 am 文章主題: |
|
|
在 VFP 中,TTOD() 與 DTOT() 兩個函數是日期時間與日期兩種型態的互相轉換,不知這樣對你是否有幫助。 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
 |
walter_yang
註冊時間: 2004-10-18 文章: 17
第 3 樓
|
發表於: 星期日 六月 26, 2005 10:29 pm 文章主題: |
|
|
朱大哥謝謝你,但我用作「出生年月日」的那個Textbox是透過CursorAdapter以SQL Server中我訂定的欄位birthday(資料型態為datetime)作為controlsource,如果用TTOD() 與 DTOT()函數的話是不是就不能將Textbox與SQL Server作資料綁定,麻煩解惑,謝謝 |
|
回頂端 |
|
 |
hanychen
註冊時間: 2003-12-10 文章: 14
第 4 樓
|
發表於: 星期一 六月 27, 2005 12:21 am 文章主題: |
|
|
你只要在format屬性中輸入D 即可 |
|
回頂端 |
|
 |
朱育興
註冊時間: 2003-08-25 文章: 661 來自: 台中市大里區
第 5 樓
|
發表於: 星期一 六月 27, 2005 12:56 am 文章主題: |
|
|
查詢是可用 TTOD(birthday) 放在 controlsource 以供顯示
但表單輸入時,我就沒辦法直接用 birthday 來綁定了
修改時的初始值
Textbox.Value = TTOD(birthday)
等到修改確定時
REPLACE birthday WITH DTOT(Textbox.Value)
(或是用 UPDATE 命令)
我不知道這樣是否可用?你試試看再說吧 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
 |
walter_yang
註冊時間: 2004-10-18 文章: 17
第 6 樓
|
發表於: 星期一 六月 27, 2005 10:16 pm 文章主題: |
|
|
我用朱大哥的方式可以了,謝謝,另外hanychen大大所說的在format屬性設為D我試過了好像不行 |
|
回頂端 |
|
 |
Ruey
註冊時間: 2003-03-12 文章: 1698 來自: tunglo
第 7 樓
|
發表於: 星期六 八月 20, 2005 11:28 am 文章主題: |
|
|
http://access911.net/fixhtm/78FAB11E11DC_big5.htm
問題︰
sqlserver中日期字段包括時間,如何去掉?
我要判斷某條記錄是否是今天的,用
select * from table where datefield=getdate()
字段中的日期為 2003-01-01 12:00:00 ,查詢出來的結果卻不包括這條記錄?怎么辦?
回答︰
select CONVERT(varchar(10), getDate(),120) --不要時間2002-1-1
select convert(char( 8 ),getdate(),112) ----20020101
select convert(char( 8 ),getdate(),108) ---06:05:05
101 美國 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英國/法國 dd/mm/yy
4 104 德國 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默認值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美國 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 歐洲默認值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 規范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 規范(帶毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM _________________ #############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!
學會VFP使用者社區的搜尋,Code才會更有趣~
############################# |
|
回頂端 |
|
 |
Ruey
註冊時間: 2003-03-12 文章: 1698 來自: tunglo
第 8 樓
|
發表於: 星期六 八月 20, 2005 11:46 am 文章主題: |
|
|
select 日期=convert(varchar(10),getdate(),120) --字符串
日期
----------
2004-08-01
select 日期=convert(datetime,convert(char( 8 ),getdate(),112)) --datatime
日期
------------------------------------------------------
2004-08-01 00:00:00.000 _________________ #############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!
學會VFP使用者社區的搜尋,Code才會更有趣~
############################# |
|
回頂端 |
|
 |
211482
註冊時間: 2003-07-15 文章: 53
第 9 樓
|
發表於: 星期日 八月 21, 2005 1:30 am 文章主題: |
|
|
如果是 CursorAdapter 的話可以參考如下類似方式指定欄位的型態及長度
.CursorSchema = "TEL_NO C(11), EXT C(5), CUST_NM C(10), ADDR C(50), TEL1 C(11), TEL2 C(11), FAX C(11), BBCALL C(15), "+;
"ENTRY_DATE D, LAST_SVNO N(10, 0), LAST_DATE D, LAST_PRDNM C(14), LAST_REMK M, "+;
"TIMESTAMP_COLUMN M" |
|
回頂端 |
|
 |
Terry1211
註冊時間: 2008-03-13 文章: 63
第 10 樓
|
發表於: 星期四 三月 19, 2009 3:31 pm 文章主題: |
|
|
用CursorAdapter的話,除了211482所說,
直接設定CursorSchema內欄位的資料型態為D外,
抓資料進來時 必須設定 CursorFill(.T.)
;如使用CursorAdapter Builder,請勾選Use CursorSchema when filling cursor選項
強制依CursorSchema所設定的資料型態
在TextBox內 就可以只留下日期 |
|
回頂端 |
|
 |
|