首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sql转换日期格式

Sql转换日期格式
EN

Stack Overflow用户
提问于 2011-02-24 22:12:53
回答 4查看 16.5K关注 0票数 1

我希望将日期格式从mm/dd/yyyy转换为yyyy/mm/dd。我要日期时间格式的输出。我试过这个

转换(日期时间,转换(varchar,getdate(),111),123)

但不起作用。错误是“显式转换为日期时间不可用”--解决这个问题的最佳方法是什么?我在用赛贝斯。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-24 22:28:06

那不管用。DATETIME数据类型有其自己的格式,即自固定引用日期以来所经过的时间;如果您请求日期时间,则始终会根据该格式返回日期时间。

如何向最终用户显示它是客户端的一个功能。您可以使用“转换”将其转换为字符串,并为其在字符串中的显示方式指定格式,但随后返回的是字符串,而不是日期时间。您可以将它作为一个日期时间返回(它没有固有的显示格式),然后由客户端应用程序或OS来定义如何为显示而格式化。在客户端应用程序中,通常还具有根据指定的格式显示日期/时间的格式化函数。如果您没有在应用程序中显式地指定它,那么日期/时间的显示通常将由OS中的本地化设置定义。

基本上,数据类型--日期时间--与其对最终用户的表示之间存在差异。

票数 1
EN

Stack Overflow用户

发布于 2011-02-24 22:26:18

尝尝这个

选择转换(varchar,CAST('12/11/2010‘as DateTime),111)

票数 3
EN

Stack Overflow用户

发布于 2011-02-25 02:28:02

格式设置应该在表示层而不是数据层中进行。然而,像Sybase这样的大多数供应商提供了进行基本格式化的能力:

代码语言:javascript
复制
Select Cast( Year(GetDate()) As char(4)  )
    + '/' + Right( '00' + Cast( Month(GetDate()) As varchar(2) ), 2 )
    + '/' + Right( '00' + Cast( Day(GetDate()) As varchar(2) ), 2 ) 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5111162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档