帮我分析一条sql查询语句

来源:百度知道 编辑:UC知道 时间:2024/06/18 08:18:33
string str2 = "SELECT id, opeartor_id, lend_id FROM applylist WHERE (appllytime BETWEEN 'btime' AND 'ltime')";
这条语句的btime和ltime是datatime类型,数据库中的appllytime也是datatime类型。
执行到 sda.Fill(ds);报错:“从字符串向 datetime 转换时失败。 ”请问是什么原因,谢谢!

between and 语法 不用引号

用这个也行, appllytime > 'btime' and applytime < 'ltime'

后者有时更灵活.可以直接去掉前面或者后面的条件.

string str2 = "SELECT id, opeartor_id, lend_id FROM applylist WHERE (appllytime BETWEEN 'btime' AND 'ltime')";
改成

string str2 = "SELECT id, opeartor_id, lend_id FROM applylist WHERE (appllytime BETWEEN '"&btime&"' AND '"<ime&"')";

'btime' AND 'ltime' 变成是字符串btime和ltime,而不是变量btime和ltime的值。

string str2 = "SELECT id, opeartor_id, lend_id FROM applylist WHERE (appllytime BETWEEN '"+btime.toString()+"' AND '"+ltime.toString()+"')";
btime和ltime是程序变量,需要转换为字符串再放到SQL语句中执行

SELECT id, opeartor_id, lend_id FROM applylist WHERE (appllytime BETWEEN btime AND ltime