sqlserver强大的datetime数据类型,呵呵

fcuandy 2007-12-10 10:28:23
DECLARE @d DATETIME
SELECT ISNULL(@d,1999) --从datetime的初始时间1900-1-1 以day为单位加上int,相当于dateadd(dd,1999,'1900-1-1')
SELECT ISNULL(@d,'1999') --以varchar(可以转换为int的)为年份,补上日,月,小时,分秒,相当于 '1999-1-1'
SElECT ISNULL(@d,0) --同第一个
SELECT ISNULL(@d,'12:00') --以初始时间1900-1-1 为单位,补上时分秒部分,参数1为时分秒部分
SELECT ISNULL(@d,'2007-12-11') --隐式转换


还有显式的convert,又能处理出来一堆.

当然,系统还会我们做更多的其它处理,不一一列了.

很好,很强大.
...全文
691 40 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
x7718868x 2008-09-22
  • 打赏
  • 举报
回复
既然这么强大了就接分吧
威尔亨特 2007-12-12
  • 打赏
  • 举报
回复
true's good strong big
yyne 2007-12-12
  • 打赏
  • 举报
回复
人,无完人;学,无止境。
fyming 2007-12-12
  • 打赏
  • 举报
回复
jf
pt1314917 2007-12-11
  • 打赏
  • 举报
回复
2
pt1314917 2007-12-11
  • 打赏
  • 举报
回复
1
winstonbonaparte 2007-12-11
  • 打赏
  • 举报
回复
日期型的功能强大啊,没有做不到的,只有想不到的
areswang 2007-12-11
  • 打赏
  • 举报
回复
DECLARE @d DATETIME
SELECT ISNULL(@d,1999) --从datetime的初始时间1900-1-1 以day为单位加上int,相当于dateadd(dd,1999,'1900-1-1')
SELECT ISNULL(@d,'1999') --以varchar(可以转换为int的)为年份,补上日,月,小时,分秒,相当于 '1999-1-1'
SElECT ISNULL(@d,0) --同第一个
SELECT ISNULL(@d,'12:00') --以初始时间1900-1-1 为单位,补上时分秒部分,参数1为时分秒部分
SELECT ISNULL(@d,'2007-12-11') --隐式转换
------------------------
1905-06-23 00:00:00.000

1999-01-01 00:00:00.000

1900-01-01 00:00:00.000

1900-01-01 12:00:00.000
kk19840210 2007-12-11
  • 打赏
  • 举报
回复
快结贴把
test33 2007-12-11
  • 打赏
  • 举报
回复
强大,很好!
fcuandy 2007-12-11
  • 打赏
  • 举报
回复
记得上次有个人问个问题, 说自己插入的数据全错了,找了半天没找出错在哪.他大致是这么写的.

INSERT tb(d) SELECT 1985-10-1

实际上执行的是

INSERT tb(d) SELECT DATEADD(dd,(1985-19-1)/*这里是减号不是年月日相连*/,'1900-1-1')


当然,有很多个字段,所以他可能忽视了.
洋溢2020 2007-12-11
  • 打赏
  • 举报
回复
powerful
nobody@noone 2007-12-11
  • 打赏
  • 举报
回复
great,powerful
fwacky 2007-12-11
  • 打赏
  • 举报
回复
有得研究
云路 2007-12-11
  • 打赏
  • 举报
回复
学习
接分

select '学习' + '接分'
fwacky 2007-12-11
  • 打赏
  • 举报
回复
DECLARE @d DATETIME
IF @d IS NULL
BEGIN
--try
SELECT CONVERT(1999 AS DATETIME)
,CONVERT('1999' AS DATETIME)
,CONVERT(0 AS DATETIME)
,CONVERT('12:00' AS DATETIME)
,CONVERT('2007-12-11' AS DATETIME)
END
fwacky 2007-12-11
  • 打赏
  • 举报
回复
SQL2008数据类型
===================
没有见过,看看
easonjun 2007-12-11
  • 打赏
  • 举报
回复
有得研究
ivan_ren 2007-12-11
  • 打赏
  • 举报
回复
路过,顶
suyiming 2007-12-11
  • 打赏
  • 举报
回复
fcuandy 偶来了
加载更多回复(20)

34,838

社区成员

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

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