Oracle到SQL Server的转换

时间:2014-05-22 17:53:25

标签: sql sql-server oracle

LIKE语句中,以下Oracle查询的SQL Server查询表的等效内容是什么:

((UPPER(ADDRESS) like '%'|| UPPER(:VALUE1) || '%' ) OR (ADDRESS IS NULL AND :VALUE1 IS NULL))

我坚持使用语法'%'||------||'%'

3 个答案:

答案 0 :(得分:0)

您可以使用+代替||来连接字符串

((UPPER(ADDRESS) like '%'+ UPPER(VALUE1) + '%' ) OR (ADDRESS IS NULL AND VALUE1 IS NULL))

对于SQL Server,您也不需要使用upper。 SQL Server中的比较不区分大小写。

这是where子句的一部分吗?

答案 1 :(得分:0)

||是Oracle的连接运算符。 SQL Server的等效是+

((UPPER(ADDRESS) like '%' + UPPER(@VALUE1) + '%' ) 
OR (ADDRESS IS NULL AND @VALUE1 IS NULL))

顺便提一下,||是SQL标准,某些数据库使用+,例如SQL Server,而不是遵循标准。

答案 2 :(得分:0)

((UPPER(ADDRESS) like '%' + UPPER(VALUE1) + '%' ) OR (ADDRESS IS NULL AND VALUE1 IS NULL))

请注意,根据整理设置,仅使用鞋帮。