convert(datetime,'2005-06-09',120) 将你的字符形式的转化成日期时间格式的然后在插入,应该就OK了。
长宁网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联公司从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
因为你现在所写的日期为字符类型的而非时间类型的,如果这样的insert语句直接在数据库中执行就是可以的成功插入的,如果是在程序中通过与数据库交互插入就需要看你定义的这个日期变量是什么类型的,如果是定义的字符类型的就需要转化成日期类型的然后插入。
希望对你有所帮助!
create PROCEDURE ps_test
declare @id varchar(50)
as
begin
declare @from_date datetime
declare @to_date datetime
create table #tt_table (id,output_date)
select @from_date = 开始时间, @to_date = 结束时间
from A
where id = @id
while(@from_date = @to_date)
begin
insert into #tt_table(id,output_date)
values( @id,@from_date)
DATEADD(day,1,@from_date)
end
select id, output_date
from #tt_table
end
go
时间:DateTime
金额:money 或 numeric(18,2). numeric主要是方便定义小数位数,money限死了只有四位
重量: numeric , 不需要精度的就 numeric(12,0), 需要精度就 numer(30,n)
1、创建测试表,
create table test_date_add(id number, start_time date, end_time date);
2、插入测试数据
insert into test_date_add values(1,to_date('2013-05-27 20:27:54', 'yyyy-mm-dd hh24:mi:ss'),to_date('2013-05-30 23:58:58', 'yyyy-mm-dd hh24:mi:ss'));
insert into test_date_add values(2,to_date('2013-05-27 15:12:36', 'yyyy-mm-dd hh24:mi:ss'), to_date('2013-05-30 19:18:44', 'yyyy-mm-dd hh24:mi:ss'));
commit;
3、查询表中全量数据,select t.*, rowid from test_date_add t;
4、编写sql,日期时间起止都加5个小时, select t.*, start_time+5/24 s1, end_time+5/24 e1 from test_date_add t;
sqlserver截取日期年份和月份使用datepart函数,函数使用方法如下:
一、函数功能:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
二、语法:DATEPART(datepart,date)
三、参数说明:date 参数是合法的日期表达式。datepart 参数可以是下列的值:
四、实例
1、截取年份:datepart(yy,'2017-1-1') 返回:2017
2、截取月份:datepart(mm,'2017-1-1') 返回:1
五、datepart函数返回的是整型数值,如果需要返回字符型,那么使用datename()函数,用法与datepart相同,只是返回数据类型不同。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款