例如 通过在创建表的时候, 在字段上, 加 双引号, 来强制区分大小写
CREATE TABLE "T3" ("T01" INT,
"T02" INT
)
CREATE TABLE "t4" (
"t01" INT,
"t02" INT
)
而普通的字符串处理, 就是单引号
SQL> SELECT
2 CONCAT('Good ', 'Morning!') A,
3 'Good ' || 'Morning!' B
4 FROM
5 dual
A B
-------------------------- --------------------------
Good Morning! Good Morning!
这就要从双引号和单引号的作用讲起:
1,双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出。例如:
$abc='I love u'
echo $abc //结果是:I love u
echo '$abc' //结果是:$abc
echo "$abc" //结果是:I love u
2,所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..."
3,但是SQL语句中会有单引号把字段名引出来
例如:select * from table where user='abc'
这里的SQL语句可以直接写成SQL="select * from table where user='abc'"
4,但是如果象下面:
$user='abc'
SQL1="select * from table where user=' ".$user." ' "对比一下
SQL2="select * from table where user=' abc ' "
5,我把单引号和双引号之间多加了点空格,希望你能看的清楚一点。
也就是把'abc' 替换为 '".$user."'都是在一个单引号里面的。只是把整个SQL字符串分割了。
SQL1可以分解为以下3个部分
1:"select * from table where user=' "
2:$user
3:" ' "
字符串之间用 . 来连接。
对,错误的,运行不了。SQL中对字符都是用单引号引用的,这样才可以运行,只有在表名中比较特殊是不用单引号引用起来的。
例如:在两个单词组成的表名中才能使用双引号把表名引用起来。
一般单引号用来标识字串。
一般双引号用来定界标识符,比如一般的字段都是一个字符的,你偏要搞多个字符的,系统正常情况下运行不了,怎么办呢?用双引号把它引起来,系统就可以运行了。
当然不光是字段,可能在别的类似的情况下也会用得上。
希望对你有帮助!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)