如果我在SQL Server Express 2008上运行此查询:
Insert NoteBook (Date, Note) Values ('11/04/2011 11:02:46', 'test')
它将日期存储为2011年4月11日
我该如何预防呢?
使用ISO-8601格式:(YYYYMMDD或YYYY-MM- DDTHH:MM:SS)-无论您使用哪种SQL Server语言和区域设置,它始终有效。
YYYYMMDD
YYYY-MM- DDTHH:MM:SS
INSERT INTO dbo.NoteBook(Date, Note) VALUES('2011-04-11T11:02:46', 'test')
SQL Server中的日期 不 以任何特定的面向字符串的格式存储-日期即是日期即是日期,无论您看到什么。
您会看到日期的字符串表示形式-但又一次:日期 不是 以这种方式存储的-因此,您无法“防止”它以这种方式存储…
检查您在SQL Server中的语言设置:
SELECT @@LANGUAGE
你有什么语言?该语言定义了显示日期的默认格式。