SQL 如何比较两个字符串是否完全相等
RT,用to_char函数可以吗?具体如何来?我想在SELECT语句中的WHERE部分比较E表中的FIRSTNAME和C表中的FIRSTNAME,麻烦给个具体实现吧~~~...
RT,用to_char函数可以吗?具体如何来?
我想在SELECT语句中的WHERE部分比较E表中的FIRSTNAME和C表中的FIRSTNAME,麻烦给个具体实现吧~~~
MERGE INTO EMP_HIST t
USING EMP_DATA f
ON ( t.FIRST_NAME = f.FIRST_NAME AND t.LAST_NAME = f.LAST_NAME)
WHEN MATCHED THEN
UPDATE SET
t.FIRST_NAME=f.FIRST_NAME,
t.LAST_NAME=f.LAST_NAME,
t.EMAIL=f.EMAIL
WHEN NOT MATCHED THEN
INSERT VALUES(f.FIRST_NAME,f.LAST_NAME,f.EMAIL)
;
这句提示在on处出错,如果我给on里的字段加上单引号就可以通过,所以我觉得是字符串比较的问题。 展开
我想在SELECT语句中的WHERE部分比较E表中的FIRSTNAME和C表中的FIRSTNAME,麻烦给个具体实现吧~~~
MERGE INTO EMP_HIST t
USING EMP_DATA f
ON ( t.FIRST_NAME = f.FIRST_NAME AND t.LAST_NAME = f.LAST_NAME)
WHEN MATCHED THEN
UPDATE SET
t.FIRST_NAME=f.FIRST_NAME,
t.LAST_NAME=f.LAST_NAME,
t.EMAIL=f.EMAIL
WHEN NOT MATCHED THEN
INSERT VALUES(f.FIRST_NAME,f.LAST_NAME,f.EMAIL)
;
这句提示在on处出错,如果我给on里的字段加上单引号就可以通过,所以我觉得是字符串比较的问题。 展开
5个回答
2015-10-20 · 知道合伙人教育行家
关注
展开全部
方法1:语句:
SELECT *
FROM E p1,C p2
WHERE p1.FIRSTNAME=p2.FIRSTNAME
直接比较字符串。
方法2: where cast(password as varbinary) = cast( 'abc' as varbinary)
方法3:where password collate Chinese_PRC_CS_AS_WS ='abc'
注:方法2是转换成二进制再比较,由于大小写的ASC码不同所以区分大小写
方法3是利用排序规则,也是基于二进制。在字段后加上collate Chinese_PRC_CS_AS_WS
SELECT *
FROM E p1,C p2
WHERE p1.FIRSTNAME=p2.FIRSTNAME
直接比较字符串。
方法2: where cast(password as varbinary) = cast( 'abc' as varbinary)
方法3:where password collate Chinese_PRC_CS_AS_WS ='abc'
注:方法2是转换成二进制再比较,由于大小写的ASC码不同所以区分大小写
方法3是利用排序规则,也是基于二进制。在字段后加上collate Chinese_PRC_CS_AS_WS
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以直接通过“ =”实现就可以了。
select a.* from tablename a,tablename b where a.name= b.name;
解释:如果有查询结果的话,就是字符串完全相等,表可以是同一张表,别名不一样就可以。
select a.* from tablename a,tablename b where a.name= b.name;
解释:如果有查询结果的话,就是字符串完全相等,表可以是同一张表,别名不一样就可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是字符型字段的话可以直接比较的
不过考虑到姓名这种容易前后错打空格和NULL的问题 建议你这样写会比较保险点
isnull(rtrim(ltrim(e.firstname)),'')=isnull(rtrim(ltrim(c.firstname)),'')
不过考虑到姓名这种容易前后错打空格和NULL的问题 建议你这样写会比较保险点
isnull(rtrim(ltrim(e.firstname)),'')=isnull(rtrim(ltrim(c.firstname)),'')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT *
FROM E p1,C p2
WHERE p1.FIRSTNAME=p2.FIRSTNAME
字符串可以直接比较啊
FROM E p1,C p2
WHERE p1.FIRSTNAME=p2.FIRSTNAME
字符串可以直接比较啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询