sql中怎么设置默认值是当前时间

sql中怎么设置默认值是当前时间,第1张

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

就是每插入一条记录时候自动写入插入时间!

解析:

SQL Server 中是设置该列(DATETIME 类型)默认值为 GETDATE()

这是系统默认了,如果你的字段类型为日期型就会这样,不过一般建议直接用varchar(10)好些,这样还省了好多查询时日期格式转换,只是保存数据时先格式化好convert(varchar(10),日期,120)保存

如果是日期字符串类型就是~

CREATE

TABLE

表名

(

time

datetime

NOT

NULL

DEFAULT

NOW(),

)

如果是时间戳~

CREATE

TABLE

表名

(

time

int

NOT

NULL

DEFAULT

CURRENT_TIMESTAMP(),

)

-----希望对你有帮助~

如果是插入的时候的话~在对应值上填写NOW()/CURRENT_TIMESTAMP()

也是可以的

不知道你用的是什么数据库

在SQL Server中可以使用CONVERT函数来解决。

例如:

数据库中有birth字段为datetime类型,在查询的时候只查出日期即可

SELECT CONVERT(VARCHAR(10),birth,120) from 表名,将查出结果付给String类型变量,然后显示即可

你也可以先做一个测试,打开SQL Server的查询分析器,然后输入下面这个SQL语句,就会看到答案SELECT CONVERT(VARCHAR(10),getdate(),120) as birth

teTimeNowToShortDateString()

//只取日期

DateTimeNowToLongTimeString();

//只取时间

搞定

DateTimeNowToShortTimeString()

DateTime dt = DateTimeNow;

dtToString();//2005-11-5 13:21:25

dtToFileTime()ToString();//127756416859912816

dtToFileTimeUtc()ToString();//127756704859912816

dtToLocalTime()ToString();//2005-11-5 21:21:25

dtToLongDateString()ToString();//2005年11月5日

dtToLongTimeString()ToString();//13:21:25

dtToOADate()ToString();//386615565508218

dtToShortDateString()ToString();//2005-11-5

dtToShortTimeString()ToString();//13:21

dtToUniversalTime()ToString();//2005-11-5 5:21:25

dtYearToString();//2005

dtDateToString();//2005-11-5 0:00:00

dtDayOfWeekToString();//Saturday

dtDayOfYearToString();//309

dtHourToString();//13

dtMillisecondToString();//441

dtMinuteToString();//30

dtMonthToString();//11

dtSecondToString();//28

dtTicksToString();//632667942284412864

dtTimeOfDayToString();//13:30:284412864

dtToString();//2005-11-5 13:47:04

dtAddYears(1)ToString();//2006-11-5 13:47:04

dtAddDays(11)ToString();//2005-11-6 16:11:04

dtAddHours(11)ToString();//2005-11-5 14:53:04

dtAddMilliseconds(11)ToString();//2005-11-5 13:47:04

dtAddMonths(1)ToString();//2005-12-5 13:47:04

dtAddSeconds(11)ToString();//2005-11-5 13:47:05

dtAddMinutes(11)ToString();//2005-11-5 13:48:10

dtAddTicks(1000)ToString();//2005-11-5 13:47:04

dtCompareTo(dt)ToString();//0

dtAdd()ToString();//问号为一个时间段

dtEquals("2005-11-6 16:11:04")ToString();//False

请采纳谢谢

1、非要用datetime的话就不能用default而要通过trigger来实现

2、在插入时value用now()函数、或者自行取运行时间

3、字段类型改变为:

datecreated timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

datemodified timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

但是其实不可行,因为一个表只能有一个CURRENT_TIMESTAMP,但你有三个字段。

所以当有多个时间可能还是得结合方式2与方式3来综合处理。当然全都用方式2也就不会提出这种问题了。

以上就是关于sql中怎么设置默认值是当前时间全部的内容,包括:sql中怎么设置默认值是当前时间、excel的单元格为空 日期型 插入到SQL数据库 为什么会出现默认时间1900-1-2、mysql数据库怎么给字段列设置默认时间为当前时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9375293.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存