nvarchar转换为date类型后,对下面view中的日期查询出错
表t1中的f1为nvarchar, 该字段f1里面存储有字符或日期类型的数据, 现在我通过条件过滤出只有日期格式的数据,通过vwDate1过滤出f1中只有日期格式的数据, 若执行 select * from vwDate1 (vwDate1为下面的视图) 执行成功,查询出来的数据是日期类型的, 但是若用select * from vwDate1 where f1>'2019-5-1' 就显示 Conversion failed when converting date and/or time from character string.
若 select * into #tt1 from vwDate1 再执行select * from #tt1 where f1>'2019-5-1' 执行成功。
请问通过view进行转换的方式,是否有办法直接执行 select * from vwDate1 where f1>'2019-5-1' 不会出错,也就是我不想通过生成临时表而直接查询View的方式进行查询。
CREATE VIEW vwDate1
AS
select convert(DATE, f1 ) AS f1, f2, f3 from t1
where f3='date'
谢谢!
若 select * into #tt1 from vwDate1 再执行select * from #tt1 where f1>'2019-5-1' 执行成功。
请问通过view进行转换的方式,是否有办法直接执行 select * from vwDate1 where f1>'2019-5-1' 不会出错,也就是我不想通过生成临时表而直接查询View的方式进行查询。
CREATE VIEW vwDate1
AS
select convert(DATE, f1 ) AS f1, f2, f3 from t1
where f3='date'
谢谢!
...全文
相关推荐
sqlserver数据库类型对应Java中的数据类型
sqlserver数据库类型对应Java中的数据类型
sqlServer 日期类型转字符串
将sql sqlser 日期类型转化成各种格式的字符串。
sql 查询本年、本月、本日记录的语句,附SQL日期函数
查询本日记录 SELECT * FROM messages WHERE CONVERT(Nvarchar, CreateDate, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY CreateDate DESC SELECT * FROM 表 WHERE datediff(day,列名,getdate())=0 查询本年 SELECT count(*) FROM messages WHERE datediff(year,CreateDate,getdate())=0 查询本月 SELECT count(*) FROM messages
Java数据类型和MySql数据类型对应一览
Java数据类型和MySql数据类型对应一览
MyBatis常用的jdbcType数据类型
主要介绍了MyBatis常用的jdbcType数据类型的相关资料,需要的朋友可以参考下


疑难问题
