To :fuxc(Michael) 问题是,表里是别人存放进去的完整的日期时间,我就是想用代码取时间部分
在sql语句里可以用datepart或datename函数 vb里也有datepart函数
例:table表中有一DateField字段类型为datename,下面的查询可以返回时间SELECT CAST(DATEPART(hh, DateField) AS varchar) + ':' + CAST(DATEPART(mi, DateField) AS varchar) + ':' + CAST(DATEPART(ss, DateField) AS varchar) AS Time FROM TABLE
To:fuxc(Michael)很感谢, 我现学现用,写了如下Triger: CREATE TRIGGER changetotime ON [dbo].[vessel] FOR INSERT, UPDATE ASUpdate Vessel Set close_time=(SELECT CAST(DATEPART(hh, i.close_time) AS varchar) + ':' + CAST(DATEPART(mi, i.close_time) AS varchar) + ':' + CAST(DATEPART(ss, i.close_time) AS varchar) FROM vessel a,inserted i where a.vessel=i.vessel and a.voyage=i.voyage) close_time 的值确实成了与1900-01-01的时间距离,但是我不想要1900-01-01出现,只要时间,就象手工输入时间一样.怎么办?请不吝赐教!多谢
然后传入时间即可!!!!!
不可以的,非需要的话用nvarchar直接保存字符吧 不要学dbcontrols要回答
自己先得明白!!!
可以的,不信的话,用Enterprise Manager手工输入时间试试.
我是想知道在VB里怎样用代码只取得时间并且只保存时间
smalldatetime只能保存日期,不能保存时间
问题是,表里是别人存放进去的完整的日期时间,我就是想用代码取时间部分
vb里也有datepart函数
DateField) AS varchar) + ':' + CAST(DATEPART(ss, DateField) AS varchar) AS Time
FROM TABLE
我现学现用,写了如下Triger:
CREATE TRIGGER changetotime ON [dbo].[vessel]
FOR INSERT, UPDATE
ASUpdate Vessel Set close_time=(SELECT CAST(DATEPART(hh, i.close_time) AS varchar) + ':' + CAST(DATEPART(mi,
i.close_time) AS varchar) + ':' + CAST(DATEPART(ss, i.close_time) AS varchar) FROM vessel a,inserted i where a.vessel=i.vessel and a.voyage=i.voyage)
close_time 的值确实成了与1900-01-01的时间距离,但是我不想要1900-01-01出现,只要时间,就象手工输入时间一样.怎么办?请不吝赐教!多谢
SELECT CAST('05:12:00' AS datetime) AS TIME
据我所知,就是不可以,等我验证了再跟你讲,否则我就道歉!
To:smartdx(怎么了)
可以的,不信的话,用Enterprise Manager手工输入时间试试.
我是想知道在VB里怎样用代码只取得时间并且只保存时间 我用SQL Server 7.0,经测试,用Enterprise Manager手工输入时间不可以!
rs!时间 = date '保存日期
rs!时间 = time '保存时间
只显示时间