黑马程序员技术交流社区

标题: 在数据库中插入当前时间。 [打印本页]

作者: haxyek    时间: 2013-6-12 10:12
标题: 在数据库中插入当前时间。
本帖最后由 haxyek 于 2013-6-12 21:38 编辑

我想用SQL语句在数据库中使用getdate()函数插入当前时间,但是总是报
'getdate' 附近有语法错误。

用NOW()函数也是一样的错误,,
求指点。



作者: 彭康    时间: 2013-6-12 10:38
可以把要插入的字段设置默认 getdate()  或者直接 insert into DBUpgradeHistory(DateTime) values (GETDATE())

又或者 在C# 中DateTime.Now  然后把他当字符串插入
作者: 许庭洲    时间: 2013-6-12 10:55
1. NOW( )函数用于取得当前的日期时间;
2. NOW( )函数还有SYSDATE( ),CURRENT_TIMESTAMP等别名;
3. 例如: SELECT NOW(), SYSDATE(),CURRENT_TIMESTAMP
4. 执行完毕后的结果如下
     -----------------------------------------------------------------------------------------------------------
     NOW()                                        SYSDATE()                                CURRENT_TIMESTAMP
     -----------------------------------------------------------------------------------------------------------
     2013-06-12 10:54:19                2013-06-12 10:54:19                2013-06-12 10:54:19
    -----------------------------------------------------------------------------------------------------------
作者: haxyek    时间: 2013-6-12 11:00
许庭洲 发表于 2013-6-12 10:55
1. NOW( )函数用于取得当前的日期时间;
2. NOW( )函数还有SYSDATE( ),CURRENT_TIMESTAMP等别名;
3. 例如 ...

这些清楚,请问,如何插入到表里面?
作者: haxyek    时间: 2013-6-12 11:00
下面是我的语句。。
  1. CREATE TABLE TELLOG(
  2. [id] int NOT NULL,
  3. [uid] int NOT NULL,
  4. [telnum] nchar(11) NOT NULL,
  5. [startime] datetime NOT NULL,
  6. [endtime] datetime NOT NULL,
  7. primary key(id)
  8. )


  9. insert into TELLOG(
  10. '',
  11. '1',
  12. '400123321',
  13. getdate(),
  14. DATEADD(MINUTE,3,getdate())
  15. );
复制代码

作者: 胡章诚    时间: 2013-6-12 11:02
我用这个语句实验成功了,insert into time(time)values(GETDATE());
你的 DateTime 字段的数据类型设置的是什么 ,你把它换成char[50],应该就不会错了                                                                                                                              
作者: 许庭洲    时间: 2013-6-12 11:50
haxyek 发表于 2013-6-12 11:00
这些清楚,请问,如何插入到表里面?

把数据库中的日期字段的默认值改为系统时间函数即可
作者: haxyek    时间: 2013-6-12 21:37
许庭洲 发表于 2013-6-12 11:50
把数据库中的日期字段的默认值改为系统时间函数即可

谢谢,不是想改默认值,但是知道是哪句有问题了。。
作者: haxyek    时间: 2013-6-12 21:37
胡章诚 发表于 2013-6-12 11:02
我用这个语句实验成功了,insert into time(time)values(GETDATE());
你的 DateTime 字段的数据类型设置的 ...

谢谢,datetime没错,但是知道是哪句有问题了。。
作者: haxyek    时间: 2013-6-12 21:37
疏忽大意。。插入语句没加关键词。。 values
作者: 胡章诚    时间: 2013-6-12 21:57
{:soso_e127:},大哥,你太强大了
作者: 江湖一浪人    时间: 2013-6-12 22:43
你可以在数据中的关于时间的字段上设置默认值,那么使用函数getdate(),每次插入该行的数据时便会插入当前时间。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2