sql 时间比较 2006-01-01,20050101

来源:百度知道 编辑:UC知道 时间:2024/05/27 19:37:34
现在遇到一个问题,查询一条数据,输入的是20050101这种格式的,而数据库中是2006-01-01的格式,中间多了一个‘-’,这样用〉比较时就不能得出需要的结果。

请问有format 函数将20050101转换成2005-01-01格式么?反之也可
反之不可,有标准的函数么?
我用cloudscape数据库,没有to_date函数
反之不可!!
有没有format函数阿?

select * from table_name where trunc(日期)=to_date('2003-05-02','yyyy-mm-dd');
上面的语句可以查询字段“日期”中内容为20030502的数据。

select * from table_name where trunc(日期)=to_date('20030502','yyyymmdd');
上面的语句可以查询字段“日期”中内容为2003-05-02的数据。

可通过自定义函数来解决

日期转化成"yyyymmdd"格式
CREATE Function DateString(@oDate as DateTime) RETURNS varchar(10) AS
begin
DECLARE @Year as varchar(4)
DECLARE @Month as varchar(4)
DECLARE @day as varchar(4)
set @Year = right('0000'+convert(varchar(4),datepart(year,@oDate)),4)
set @Month = right('00'+convert(varchar(2),datepart(Month,@oDate)),2)
set @Day = right('00'+convert(varchar(2),datepart(Day,@oDate)),2)
RETURN @Year+@Month+@Day
end

"yyyymmdd"转换成日期格式
CREATE Function StrDate(@Str as varchar(10))
RETURNS DateTime AS
begin
DECLARE @Date as datetime
DECLARE @Year as varchar(4)
DECLA