如何将长日期更改为短日期
例如(2018年1月10日星期日)--长日期例如(2018-01- 10 )
发布于 2019-05-24 03:11:09
一旦摆脱了星期几,就可以将字符串转换为日期:
select convert(date, stuff(longdate, 1, charindex(' ', longdate), ''))
发布于 2019-05-24 03:12:43
select convert(DATE, 'May 23 2019',101)
或
select convert(DATE, 'January 10 2018',101)
2018年1月10日是一个星期三
发布于 2019-05-24 03:20:29
我认为您可能会感到困惑;正确存储的日期只是一个日期--一个数字,如果您愿意的话,也可以是从某个时间点开始的天数(和几天)。它的内部表示中没有任何文本,并且不能缩写。
当您在查询中选择它时,查询工具必须以某种方式表示它,为此,它会将其格式化为一个字符串,您将其解释为挂历上的一个条目。在大多数情况下,我们应该避免让db格式化任何内容,因为fornatting是表示层的工作;从db中取出日期的网站,现在必须让它看起来像德国人写日期的方式,因为Hans Schmidt已经登录,但后来当John Doe浏览时,将它格式化为美国日期。
如果您非常想在db中格式化它,请使用
FORMAT(thedate, 'yyyy-MM-dd')
或者也许
LEFT(CONVERT(thedate, varchar, 120), 10)
https://stackoverflow.com/questions/56281555
复制相似问题