如果字段是DateTime类型,而用户只输入年月,怎样将用户输入的年月转成DateTime型? 这个问题是不是应该在Asp.net栏目中问啊. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果取系統的日期,則declare @year numeric(4),@month numeric(2)set @year=2003set @month=8select 日期=cast(convert(varchar(4),@year)+'-'+convert(varchar(2),@month)+'-'+convert(varchar(2),day(getdate())) as datetime) 比如说,某人的参加工作时间是1993年3月,具体是几号并不重要,或者用户并不记得是几号.用户输入数据时只输入年-月,但要存到一个DateTime的字段里.然后在页面显示时也只显示1993-3 那也没有问题啊,你可以在查询分析器中试试:declare @dt varchar(10)set @dt='2004-08' --输入的create table tb (dt datetime) --建一表,做测试insert tb values(convert(datetime,@dt+'-1')) ---输入的串加一个'-1',随便哪天都行。select * from tb ---数据表中存储的结果select 日期=convert(varchar(7),dt,120) from tb ---前台你需要的 年-月drop table tb----结果:(所影响的行数为 1 行)dt ------------------------------------------------------ 2004-08-01 00:00:00.000(所影响的行数为 1 行)日期 ------- 2004-08(所影响的行数为 1 行) declare @year int,@month int,@day int,@date datetimeselect @year=2004, @month=8,@day=day(getdate())SET DATEFORMAT ymdset @date=cast(@year as varchar(4))+'/'+cast(@month as varchar(2))+'/' +cast(@day as varchar(2))select @date 二个小问题 存储过程的参数能否是数组? sql2000=》2008企业管理器看不到数据表,只有系统表。但是查询分析器可以查到用户表 简单问题 数据库大容量导入高手进!,谢谢~ 如图一下表,请写出SQL语句 连续两个where 求SQL Server2000两台服务器数据复制问题(多谢帮忙,相送100) 条件1=1是啥意思? SQL Server与Access97配合开发应用程序的问题 同一台计算机两块网卡分别连接不同的局域网,配置odbc,使之连接到2个网络中的不同数据库服务器 再sql存储过程中创建了一个临时表,请问如何使用这张临时表生成一张报表。请高手赐教,奉上100分。。
set @year=2003
set @month=8select 日期=cast(convert(varchar(4),@year)+'-'+convert(varchar(2),@month)
+'-'+convert(varchar(2),day(getdate())) as datetime)
并不记得是几号.用户输入数据时只输入年-月,但要存到一个DateTime的字段
里.然后在页面显示时也只显示1993-3
declare @dt varchar(10)
set @dt='2004-08' --输入的
create table tb (dt datetime) --建一表,做测试
insert tb values(convert(datetime,@dt+'-1')) ---输入的串加一个'-1',随便哪天都行。
select * from tb ---数据表中存储的结果
select 日期=convert(varchar(7),dt,120) from tb ---前台你需要的 年-月
drop table tb
----结果:(所影响的行数为 1 行)dt
------------------------------------------------------
2004-08-01 00:00:00.000(所影响的行数为 1 行)日期
-------
2004-08(所影响的行数为 1 行)
select @year=2004, @month=8,@day=day(getdate())SET DATEFORMAT ymd
set @date=cast(@year as varchar(4))+'/'+cast(@month as varchar(2))+'/'
+cast(@day as varchar(2))
select @date