回答

收藏

SQL查询做奇怪的事情

技术问答 技术问答 97 人阅读 | 0 人回复 | 2023-09-13

如果我在SQL Server Express 2008上运行此查询:- ]8 u& b' a% }" q9 _; z
Insert NoteBook (Date,Note) Values (11/04/2011 11:02:46,test')它将日期存储在2011年4月11日; \) J# F+ ?7 u. x  Z
如何预防?
$ A$ ?% P& e: Y# Z                                                               
$ x; D0 _, R0 a$ |    解决方案:                                                                , l$ X: R* M& B0 E0 w
                                                                使用ISO-8601格式:(YYYYMMDD或YYYY-MM-DDTHH:MM:SS)-不管你用什么SQL Server语言和区域设置总是有效的。
, K2 P. S( y; P: @INSERT INTO dbo.NoteBook(Date,Note) VALUES('2011-04-11T11:02:46','test')SQL Server中的日期     以任何特定的面向字符串的格式存储-无论你看到什么,日期就是日期。
" q: v! H/ l5 H# I0 \/ n您将看到日期字符串的表示形式-但又一次:日期 不是    以这种方式存储-因此,你不能防止它以这种方式存储…+ H, G9 @9 q5 x( o& {2 x$ \
检查您在SQL Server语言设置:8 k8 z- e; H) M( N' X
SELECT @@LANGUAGE你有什么语言?语言定义了显示日期的默认格式。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则