+ -
当前位置:首页 → 问答吧 → 时间字符串转换成datetime格式如何设置添加当前日期

时间字符串转换成datetime格式如何设置添加当前日期

时间:2011-11-25

来源:互联网

如题:
默认是的转换是这样的
SQL code

select cast('12:50:00' as datetime)
/*
1900-01-01 12:50:00.000
*/


怎么设置才会添加当前日期,也就是今天是“2011-11-25”转换成datetime如下:
SQL code

select cast('12:50:00' as datetime)
/*
2011-11-25 12:50:00.000
*/

作者: freetd   发布时间: 2011-11-25

SQL code
select cast(convert(varchar(11),getdate(),120)+'12:50:00' as datetime)

作者: ssp2009   发布时间: 2011-11-25

难道没有缺省设置的??今天看到同事那台机的转换就是这样的,怎么设置的

作者: freetd   发布时间: 2011-11-25

引用 2 楼 freetd 的回复:
难道没有缺省设置的??今天看到同事那台机的转换就是这样的,怎么设置的
把当前日期取到日,然后和你的字符串合起来即可.
cast(convert(varchar(11),getdate(),120) + '12:50:00' as datetime)

作者: dawugui   发布时间: 2011-11-25

SQL code

select cast(convert(varchar(10),getdate(),120)+' '+'12:50:00' as datetime)
/*
2011-11-25 12:50:00.000

(1 行受影响)

*/

作者: pengxuan   发布时间: 2011-11-25

晕,楼上和楼上及楼上的楼上都理解错我的意思了

作者: freetd   发布时间: 2011-11-25

没有现成的.

作者: dawugui   发布时间: 2011-11-25

你同事不是MSSQL吧

作者: geniuswjt   发布时间: 2011-11-25

我的意思是:
在我的机器上执行CAST函数会给时间加上"1900-01-01"日期,
而在同事那台机器上执行同一条语句添加的日期不是"1900-01-01"而是当前的日期,怎么设置数据库才能得到同事的那种效果

作者: freetd   发布时间: 2011-11-25

引用 8 楼 freetd 的回复:
我的意思是:
在我的机器上执行CAST函数会给时间加上"1900-01-01"日期,
而在同事那台机器上执行同一条语句添加的日期不是"1900-01-01"而是当前的日期,怎么设置数据库才能得到同事的那种效果
不可能的.

作者: dawugui   发布时间: 2011-11-25

是MSSQL,都是2005

作者: freetd   发布时间: 2011-11-25

但是我中午看到的情况就是这样,不过我问他怎么设置的,他说不知道,默认安装后都没改过

作者: freetd   发布时间: 2011-11-25

难道是BUG

作者: freetd   发布时间: 2011-11-25

是你同事調用了一個函數做了時間轉換吧。。

作者: decher   发布时间: 2011-11-25

是不是设置了默认值getdate()哦

作者: geniuswjt   发布时间: 2011-11-25

引用 11 楼 freetd 的回复:
但是我中午看到的情况就是这样,不过我问他怎么设置的,他说不知道,默认安装后都没改过


很显然,有人被忽悠了.

作者: qianjin036a   发布时间: 2011-11-25