数据库中有一列值,列默认声明为文本型,但其实列的值都是数字型的。我现在想写sql语句判断列值大于5,小于100,怎么写啊?不知道怎么处理,会出现类型问题。
解决方案 »
- 请教个字符串匹配算法或SQL语句,感谢
- 求份openflashchart.dll文件!
- Datalist分页
- 关于datagridviewcolumn的重载,要实现一些功能?(顶者有分)
- .net自动生成数据层的问题
- WinForm主窗口使用完毕,如何切换到第二个WinForm窗口??
- 救急:如何判断SqlServer中是否存在一个表
- 如何 根据名字取datagridview单元格的值(非绑定情况下)
- 中文url 乱码问题,求解惑啊
- 难题:有关SQL数据库的问题100分
- StringBuilder.Length=0,和StringBuilder.Clear(),功能完全一样吗?
- jdk1.7 现在到底出来没有??
CInt(你那列) > 5 and CInt(你那列) < 10
CLng(你那列) > 5 and CLng(你那列) < 10
sqlserver 有 cast ... as int
mySelect = string.Format(@"SELECT * FROM Sheet1 WHERE CLng(cloud_height) > 5 and CLng(cloud_height) < 10");这么写吗?不能执行,提示myda.Fill(myds) 的值为NULL。
ACCESS数据库中cloud_height列是文本型的,值如下:1、20、5、10、30...都是数字类的。
现想查找cloud_height数值在5-10之间的。代码如下 Connection();//调用数据库连接函数
mySelect = string.Format(@"SELECT * FROM Sheet1 WHERE CLng(cloud_height) > 5 and CLng(cloud_height) < 10);
mycmd = new OleDbCommand(mySelect, mycon);
myda = new OleDbDataAdapter(mycmd);
myds = new DataSet();
myda.Fill(myds);
dataGridView3.DataSource = myds.Tables[0];
提示myda.Fill(myds); 无效的NULL使用
mySelect = string.Format(@"SELECT * FROM Sheet1 WHERE CLng(IIf(IsNull(cloud_height),'-1',cloud_height)) > 5 and CLng(IIf(IsNull(cloud_height),'-1',cloud_height)) < 10)");
是有空值null,应该先查询非空值的数据,然后再判断。就像你上面写的。
哈哈 很感谢 深夜帮我解决