小编典典

在SQL Server 2000中,此操作数(* = star-equals)是什么?

sql

我有一个查询,我从ms sql 2000中提取并插入到MySql查询中。它不起作用,MySql将使*
=运算符阻塞。在此示例中,我有两个名为person_name的varchar列。

SELECT * FROM tbl1 a, tbl2 b 
WHERE a.id = b.id
AND a.person_name *= b.person_name

我知道其他语言的myInt * = myTotal也可以读作myInt * myInt =
myTotal。但是,我正在使用包含所有字符,没有整数的varchars。我写出来像:

AND a.person_name * a.person_name = b.person_name

瞧!它似乎起作用了。有人可以解释发生了什么吗?* =运算符是将char转换为等效的整数还是?为什么我在网络上的任何地方都找不到该运算符?


阅读 296

收藏
2021-03-23

共1个答案

小编典典

在SQL 2000中,它被用作LEFT OUTER JOIN

= *是正确的外部联接

您的查询可能是:

SELECT 
  * 
FROM 
  tbl1 a LEFT OUTER JOIN tbl2 b ON a.person_name = b.person_name
WHERE 
  a.id = b.id

如前所述这里

使用非标准产品特定的语法和WHERE子句指定外部联接。 =运算符用于指定左外部联接,而= 运算符用于指定右外部联接。

2021-03-23