时间格式的一个简单问题

strawwan 2006-08-08 02:17:49
SELECT field FROM table WHERE date>'07/31/2006'
一般这种时间格式数据库都默认为2006年7月31日(MM/dd/yyyy).我现在希望数据库把时间字符串默认为"dd/MM/yyyy"的格式.即:SELECT field FROM table WHERE date>'31/07/2006'.不知道SQL在哪里可以设置?
...全文
270 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
strawwan 2006-08-08
  • 打赏
  • 举报
回复
还有可不可以做到不影响其它的数据库呢?
strawwan 2006-08-08
  • 打赏
  • 举报
回复
谢谢Yang_(扬帆破浪).问题是现在整个项目都有这样的需求.我不可能在每个select语句前都加这一句.有什么办法只要设置一个地方就可以了?
jetdw 2006-08-08
  • 打赏
  • 举报
回复
Yang_(扬帆破浪)
非常有道理
用 SET DATEFORMAT 就 OK 了
playwarcraft 2006-08-08
  • 打赏
  • 举报
回复
學習了
Yang_ 2006-08-08
  • 打赏
  • 举报
回复
SET DATEFORMAT
设置用于输入 datetime 或 smalldatetime 数据的日期部分(月/日/年)的顺序。

语法
SET DATEFORMAT { format | @format_var }

参数
format | @format_var

是日期部分的顺序。可以是 Unicode 或转换为 Unicode 的 DBCS。有效参数包括 mdy、dmy、ymd、ydm、myd 和 dym。美国英语默认值是 mdy。

注释
该设置仅用在将字符串转换为日期值时的解释中。它对日期值的显示没有影响。

SET DATEFORMAT 的设置是在执行或运行时设置,而不是在分析时设置。


---------------------------------
注意:
SET DATEFORMAT 的设置是在执行或运行时设置,而不是在分析时设置。
也就是说,需要在查询中每次都设置,或者在程序语句里设置
Yang_ 2006-08-08
  • 打赏
  • 举报
回复
SET DATEFORMAT dmy

SELECT field FROM table WHERE date>'31/07/2006' --合法

SELECT field FROM table WHERE date>'07/31/2006' --不合法


SET DATEFORMAT mdy

SELECT field FROM table WHERE date>'31/07/2006' --不合法

SELECT field FROM table WHERE date>'07/31/2006' --合法
Yang_ 2006-08-08
  • 打赏
  • 举报
回复
SET DATEFORMAT dmy

SELECT field FROM table WHERE date>'31/07/2006'
playwarcraft 2006-08-08
  • 打赏
  • 举报
回复
好像沒什麼關係的吧...

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧