关于过滤非时间类型数据 数据库中有"期限"这个字段 数据类型为char主要是保存时间,但也有空数据和一些其他非时间数据怎样才把这个空数据和非时间数据过滤点 注:不能修改数据类型为datetime 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SELECT * FROM TB WHERE ISDATE(COL1)<>1 查询是时间的SELECT * FROM TB WHERE ISDATE(COL1)=1 ISDATE 确定输入表达式是否为有效日期。 使用 ISDATE 检查变量下面的示例检查 @datestring 局部变量是否为有效的日期。DECLARE @datestring varchar(8)SET @datestring = '12/21/98'SELECT ISDATE(@datestring)下面是结果集:----------- 1 77 他的数据类型为char可以判断么? delete tbwhere isdate(col)<>1 --删除。。delete 表名where isdate('期限')<>1 expression 是 text、ntext 表达式和 image 表达式以外的任意表达式 ISDATE确定输入表达式是否为有效的日期。语法ISDATE ( expression ) 参数expression一个表达式,将要验证它是否为一个日期。expression 是任何返回 varchar 数据类型的表达式。 应该可以自动转换成VARCHAR吧我试试看 DECLARE @V CHAR(10)SET @V='2009-10-1'SELECT ISDATE(@V)试了一下能行,呵呵 我之前用了isdate是不行的 isdate应该行, 真不行的话, 似乎其它方法都很麻烦 你列些数据出来,可能其它没考虑到,应该要用ISDATE来弄的 isdate() 一个菜鸟问题:几个表由一个相同的属性,对其中一个表属性修改,其他表也改变 求sql查询,在一列中相邻几行,与一组数字排序相同的结果? SQL查询语句求教,请看!! 在sql的存储过程中如何取oracle的表数据 请教高手们一个SQL的写法 关于一个多表同查询的问题 如何用sql语句将一个字段的值加1 行列转换 数据库如何做负载均衡? 一个很简单的问题 一个简单的问题,但想要效率高些 怎么得到插入多条记录的各个标识值?
SELECT * FROM TB WHERE ISDATE(COL1)=1
下面的示例检查 @datestring 局部变量是否为有效的日期。DECLARE @datestring varchar(8)
SET @datestring = '12/21/98'
SELECT ISDATE(@datestring)下面是结果集:-----------
1
where isdate(col)<>1
delete 表名
where isdate('期限')<>1
ISDATE
确定输入表达式是否为有效的日期。语法
ISDATE ( expression ) 参数
expression一个表达式,将要验证它是否为一个日期。expression 是任何返回 varchar 数据类型的表达式。 应该可以自动转换成VARCHAR吧
我试试看
SET @V='2009-10-1'
SELECT ISDATE(@V)
试了一下能行,呵呵
是不行的