如何在SQL查询的条件下比较两个不同的数据类型变量

时间:2011-06-03 04:59:57

标签: sql

我在第一个表中有一列integer,第二列是varcha。现在我需要比较这两个不同数据类型的变量,如果匹配则检索数据。

请告诉我如何解决这个问题?

4 个答案:

答案 0 :(得分:2)

请指定您正在使用的DBMS。

Sql Server? CAST / CONVERT

编辑:

好吧,我看到你提到过上面的Sql * Plus,为了彻底起见,我说甲骨文。 CAST似乎是您正在寻找的。 CONVERT在Oracle中做了一些不同的事情,所以你会做类似

的事情
CAST(@YourStringValue AS INTEGER) = @YourOtherIntegerValue

或您要将列强制转换为的任何数据类型,然后将其与其他值进行比较。 语法可能有些偏差,因为我不是Oracle人,但这应该指向正确的方向。

答案 1 :(得分:0)

如果它是关于MS SQL的,那么它会隐式地为你抛出那些,不需要强制转换或转换。

declare @IntVariable int
set @IntVariable = 3

declare @VarcharVariable varchar(10)
set @VarcharVariable = '3'

select case when @IntVariable = @VarcharVariable then 1 else 0 end

答案 2 :(得分:0)

您可以将varchar转换为int或int转换为varchar,然后进行比较。

铸造的简短例子:

CAST(ColumnName as datatype)as CertainName

此处CertainName表示您可以显示要显示为新列名称

答案 3 :(得分:0)

如果您正在使用c#java或其他严格类型编程语言,那么您必须将int类型转换为字符串然后您将能够比较它们如果您使用PHP然后不需要转换

相关问题