分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
就是每插入一条记录时候自动写入插入时间!
解析:
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数据库怎么给字段列设置默认时间为当前时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)