将MS Access中的日期转换为SQL Server日期
我已将Access中的查询复制、粘贴并转换为SQL Server,但似乎不知道如何将访问日期转换为SQL Server友好格式 写申请书的人走了,所以我只能靠自己了。以下是几个例子:将MS Access中的日期转换为SQL Server日期,sql,sql-server,ms-access,Sql,Sql Server,Ms Access,我已将Access中的查询复制、粘贴并转换为SQL Server,但似乎不知道如何将访问日期转换为SQL Server友好格式 写申请书的人走了,所以我只能靠自己了。以下是几个例子: SetupDate Between '120701' And '151299' SetupDate Between '001000' And '151299' 如果要在sql server中使用该格式,则需要yyyymmdd格式的日期。因此: SetupDate Between '120701' And '1
SetupDate Between '120701' And '151299'
SetupDate Between '001000' And '151299'
如果要在sql server中使用该格式,则需要yyyymmdd格式的日期。因此:
SetupDate Between '120701' And '151299'
变成这样:
SetupDate Between '20120701' And '20151299'
但“20151299”不是有效日期。所以也许应该是这样:
SetupDate Between '20010701' And '19991215'
在这种情况下,您可能不会得到任何记录。如果我的猜测是正确的,
SetupDate
包含6位日期,然后如果可能,创建一个临时列SetupDate2 AS DATE
然后更新:
update myTable
set SetupDate2 = CONVERT(DATE, SUBSTRING(SetupDate, 1, 2) + '-' + SUBSTRING(SetupDate, 3, 2) + '-' + SUBSTRING(SetupDate, 5, 2))
然后放下SetupDate
并将SetupDate2
重命名为SetupDate
以下是对您的样本的测试:
SetupDate BETWEEN
CONVERT(DATE, SUBSTRING('120701', 1, 2) + '-' + SUBSTRING('120701', 3, 2) + '-' + SUBSTRING('120701', 5, 2))
AND CONVERT(DATE, SUBSTRING('151299', 1, 2) + '-' + SUBSTRING('151299', 3, 2) + '-' + SUBSTRING('151299', 5, 2))
SetupDate BETWEEN
CONVERT(DATE, SUBSTRING('001000', 1, 2) + '-' + SUBSTRING('001000', 3, 2) + '-' + SUBSTRING('001000', 5, 2))
AND CONVERT(DATE, SUBSTRING('151299', 1, 2) + '-' + SUBSTRING('151299', 3, 2) + '-' + SUBSTRING('151299', 5, 2))
我对access不是很熟悉,但这些日期是怎样的?这是
DDMMYY
?“从Access进入SQL”-这是什么意思?Access中也存在SQL。您是在Access中运行与SQL Server链接的表的查询,还是在Access中运行传递查询,还是在SQL Server中运行(一次性)查询?我应该指定。以下是格式:2010-06-11什么格式?SetupDate
是否为NVARCHAR(10)?还是约会?太好了!如果你按照我的指示去做,你会得到想要的结果。