2014-07-22 38 views
1

可我知道我可以驗證在字段中顯示的日期是否在特定的格式女士訪問 - 如何驗證YYYY顯示的日期時間格式/ MM/DD HH/MM/SS

按我的要求日期時間應以'yyyy/mm/dd HH(24小時)/ MM/SS' 格式顯示。例如:有效值應爲'2014/07/18 14:16:48'。如果日期顯示爲'18/07/2014 14:16:48',那麼它是無效的。

使用查詢如何驗證它是否以我期望的格式顯示。我可以使用IsDate選項來驗證它是一個有效的日期,我也可以使用Mid函數來驗證日期分隔符是'/',但我怎麼能驗證格式。

感謝

+0

什麼是你的領域的類型?約會時間?串? –

+0

這可能會變得棘手(除非我忘記了另一條路線),因爲您沒有指定您可能會收到什麼樣的日期格式來驗證。有1/1/14,2014年1月1日,2014年1月1日,2014/1/1等。 –

回答

1

如果列存儲爲Text,使用SQL Like操作。選擇有效日期:

SELECT * FROM myTable WHERE myDate Like "####/##/## ##:##:##" 

選擇無效日期

SELECT * FROM myTable WHERE myDate Not Like "####/##/## ##:##:##" 

#代表一個數字。

請參閱Like Operator

但請注意,這隻有在myDateText!如果myDate的類型爲Date/Time,則日期在內部以數字格式存儲,且僅格式化爲顯示日期。因此,不要將日期值本身和顯示日期相混淆。

A Date/Time始終以相同的方式存儲,不管它如何格式化和顯示!

+0

滿足要求(並假設文本)也應該使用isDate'SELECT * FROM myTable WHERE myDate Like「####/##/## ##:##:##」and isDate(myDate)'' –

0

所有你需要做的是在設計視圖打開表並設置Format屬性。

enter image description here

+0

這會顯示日期的格式,但不驗證任何內容。 –

+0

日期是日期,無論它的格式如何。格式僅用於顯示目的,並且內部存儲爲數字。他一直在問只顯示在問題中。如果輸入的格式也必須相同,那麼除了'Format'屬性外,還可以使用'Input Mask'屬性。 –