單引和雙引區別
ls_sql = "SELECT DISTINCT DEMO_NO,FACT_NO FROM KY_DEMOM WHERE FACT_NO = '" + &
gs_fact + "' AND DEMO_NO LIKE '" + ls_exist + "%' ORDER BY 1 "
請問一下各位大俠:
為什麼在" + ls_exist + "%'中加‘’呢?
问题点数:20、回复次数:9Top
1 楼sdhylj(青锋-SS)(献血有益健康(别人的))回复于 2006-03-05 09:16:34 得分 0
这个DEMO_NO字段应该是字符串类型的.Top
2 楼sdhylj(青锋-SS)(献血有益健康(别人的))回复于 2006-03-05 09:18:27 得分 0
SELECT DISTINCT DEMO_NO,FACT_NO FROM KY_DEMOM WHERE FACT_NO = '" + &
gs_fact + "' AND DEMO_NO LIKE '" + ls_exist + "%' ORDER BY 1
'" + ls_exist + "%'的作用是给ls_exist的值加上左右引号.Top
3 楼li_d_s(鄙视那些不懂Java却跑来乱骂的人,.NET没啥了不起)回复于 2006-03-06 09:36:48 得分 0
这是sql的标准啊,所有varchar类型的比较都要加单引号的Top
4 楼lalakid(梦想总是那么美好……)回复于 2006-03-06 12:23:46 得分 0
呵呵,辛亏只是嵌套了1层,要不楼主肯定疯了Top
5 楼moonshineidolon(神)回复于 2006-03-09 14:15:43 得分 0
DEMO_NO LIKE '" + ls_exist + "%' ORDER BY 1 " 确保sql语句最后拼写完的时候like语句后面的变量 带有单引号,如 DEMO_NO LIKE '中国%' 如果没有单引号 DEMO_NO LIKE 中国% 。sql语法错误Top
6 楼WWWFIND(牧月天涯)回复于 2006-03-09 14:56:14 得分 0
SQL语句中只支持'Top
7 楼sdhylj(青锋-SS)(献血有益健康(别人的))回复于 2006-03-09 15:02:07 得分 0
PB传进去的时候就成了"'".Top
8 楼msriver(msriver)回复于 2006-03-16 16:05:35 得分 0
謝各位伙計Top
9 楼TianChong(*︿_︿* ○Ооo○泡泡oо㊣VC高手群:2997669)回复于 2006-03-18 10:25:47 得分 0
第一、SQL只对单引号支持,双引号常常出错,
第二、由于本身是一句字符串,而字符串里又有一个字符串要表示,所以一般使用一对双引号及一对单引号比较好维护及阅读,其实上二者在PB里并无区别,只要配对了就行,只是刚好SQL只支持单引号,所以将单引号放在内层。
第三、其实只使用单引号一样可以成功的,但要使用一个特殊转义符~或~~,例如:
strSQL=~'select * from users where name='john'~'
Top




