通过VBA将文件从Excel导入Access后, 我试图使用
将包含日期的字符串字段更改为日期字段"ALTER TABLE tablex ALTER COLUMN StartDate DATE"
Excel中的字符串29/08/2013将在Access中转换为日期08/29/2013,但
Excel中的字符串9/08/2013将在Access
中转换为日期8/09/2013我理解它的日期格式。想知道要执行的正确SQL以使两种格式相同。
答案 0 :(得分:1)
在MS Access中,默认日期格式为mm/dd/yyyy
。因此,在更改列的数据类型之前,您必须通过交换dd
和mm
部分消除日期值歧义。
UPDATE tablex
SET StartDate = MID(StartDate, IIF(Len(StartDate) = 9, 3, 4), 2) + '/' +
LEFT(StartDate, IIF(Len(StartDate) = 9, 1, 2)) +
MID(StartDate, IIF(Len(StartDate) = 9, 5, 6))
如果日期部分总是两位数,那么只需
UPDATE tablex
SET StartDate = MID(StartDate, 4) + '/' +
LEFT(StartDate, 2) +
MID(StartDate, 6)