使用SQL2017的Date数据格式问题
刚开始看视频学习SQL,建立第一个数据库和表时遇到了一个问题。我建立了一个学生表和班级表,在完成学生表中的出生日期列的创建时,遇到了视频教程中没有的问题(本人使用sql management 2017)。
一开始采用datetime类型作为日期,设置默认值时能正常接收,如1990-01-01这样的输入。后来发现datetime的格式为YYYY-MM-DD HH::MM::SS,觉得使用这个格式但不需要时间会造成浪费,于是修改为date格式改完后,直接报错,sql不认这种输入。

研究了半天,最后发现sql需要如('1990-01-01')这种格式的输入。
在设置CHECK约束的时候,使用date格式时采用year()函数会自动转化为datepart()函数,如(datepart(year,[BirthDate])>(1900)),保存时因不明原因会报错但是可以正常使用。
本文探讨了在SQL2017中使用date数据格式时遇到的问题,对比datetime与date类型的差异,详细介绍了正确输入日期格式的方法及在设置CHECK约束时的注意事项。
1万+

被折叠的 条评论
为什么被折叠?



