帮忙写个自定义函数

pdsnet 2008-07-05 05:59:28
帮我写个简单sql自定义 函数,我sql太烂了...,
要实现的功能就是 传进去一个日期型字符串 ,
如果时间1900-01-01 00:00:00.000 返回一个"未填写" 否则 按原来字符串返回.
...全文
167 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
exy337 2008-07-05

select case when Op_Time = '1900-01-01 00:00:00.000' then '未填写' else Op_Time end as Op_Time from a1_Data
--select case when 你表的日期字段 = '1900-01-01 00:00:00.000' then '未填写' else 你表的日期字段 end as 列的别名 from 表名
--应该能帮到楼主
回复
exy337 2008-07-05

select case when Op_Time = '1900-01-01 00:00:00.000' then '未填写' else Op_Time end as Op_Time from a1_Data
--select case when 你表的日期字段 = '1900-01-01 00:00:00.000' then '未填写' else Op_你表的日期字段 end as 列的别名 from 表名
--应该能帮到楼主
回复
hoge66 2008-07-05
上面都是数据库操作,我来个页面的:
HTML:
<%#GetDate(Convert.ToDateTime(Eval("DateFieldName")))>
cs:
protected string GetDate(DateTime dt)
{
if(dt.ToString()=="'1900-01-01 00:00:00.000")
{
return "未填写";
}
else
{
return dt.ToString();
}
}
回复
wzy_love_sly 2008-07-05
是datetime列插入''值的问题,把表的数据update回来吧,把程序的插入改成插入null,写函数不是好解决办法

update tb set date=null where datediff(dd,dt,'1900-01-01')=0
回复
足球中国 2008-07-05
[Quote=引用 3 楼 amandag 的回复:]
就你刚才的问题


SQL codeselect
case Convert(varchar,birthdate, 121)
when '1900-01-01 00:00:00.000' then '未填写'
else Convert(varchar,birthdate, 121)
end '开始时间'
from employees
[/Quote]
回复
一品梅 2008-07-05
楼主是不是用了DatePicker控件,呵呵.
回复
amandag 2008-07-05
就你刚才的问题

select 
case Convert(varchar,birthdate, 121)
when '1900-01-01 00:00:00.000' then '未填写'
else Convert(varchar,birthdate, 121)
end '开始时间'
from employees
回复
amandag 2008-07-05
楼主,你是打算在应用程序中显示这个'未填写' ,还是就在数据库的查询窗口里显示?

回复
sinoeremite 2008-07-05
create function fun (@time varchar(50))
returns varchar(50) as
Begin
if @time='1900-01-01 00:00:00.000'
begin
set @time='未填写'
end

return @time
End
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2008-07-05 05:59
社区公告
暂无公告