2011-05-18 44 views
0

表中有三列日期信息(月,日,年),我想在表中創建一個新列並將這3列組合成一個新的列,以便我可以有一個單一格式的日期。我怎樣才能做到這一點?我知道如何查詢這個,但我想弄清楚如何將這些信息複製到原始表中。提前致謝。如何組合表中的列(Access SQL)

+1

看看'DATESERIAL'函數。 – onedaywhen 2011-05-18 21:33:46

+0

請添加您的工作查詢。 – 2011-05-19 09:26:45

+0

您的3個現有列有哪些數據類型? – HK1 2011-05-19 13:22:06

回答

2

如果我深知,你需要改變你的表,並添加一個datetime列 你需要做這樣的事情

UPDATE YourTable 
SET DATECOLUMN = '#' & DAYCOLUMN & '/' & MONTHCOLUMN & '/' & YEARCOLUMN & '#' 

這是在訪問sintaxis如果我記得很清楚。

問候。

+0

我嘗試了以下,我得到了錯誤「Microsift訪問沒有更新10個字段由於類型轉換失敗」: '更新簽名 set full_date ='#'&日&'/'和月' /'&year & '#';' – user759935 2011-05-18 23:44:34

+1

類型轉換錯誤可能來自您的字段中某些無效的日期,月份或年份值,這些值會導致生成無效日期。尋找像Day = 30和Month = 2這樣的值。 – TheOtherTimDuncan 2011-05-19 10:48:39

2

管理這種數據清理練習有多種方式,例如,

  • CREATE一個新表,包括一個新的NOT NULL列,並省略了現在冗餘列,INSERT..SELECT到新表中只有您所需要的數據,刪除舊錶(你會擁有不同的表名,其可能不是一件壞事)。
  • ADD一個新的空列到現有的表(或NOT NULL如果你有一個適當的DEFAULT),UPDATE新列,變更列,使其NOT NULL然後DROP現在冗餘列。