23

キャスト関数を select ステートメントに適用することは可能ですか? はいの場合、どのように?別のテーブルから他の情報を取得するために文字列を使用する必要がある数値を返すクエリがあります。

4

5 に答える 5

30

あなたはちょうどCAST()このように

SELECT cast(yourNumber as varchar(10))
FROM yourTable

JOIN次に、それに基づいて使用したい場合は、次を使用できます。

SELECT *
FROM yourTable t1
INNER JOIN yourOtherTable t2
    on cast(t1.yourNumber as varchar(10)) = t2.yourString
于 2012-08-16T14:35:05.177 に答える
4

はい、できます。

の構文CAST:

CAST ( expression AS data_type [ ( length ) ] )

例えば:

CAST(MyColumn AS Varchar(10))

CASTSELECT声明で:

Select CAST(MyColumn AS Varchar(10)) AS MyColumn
FROM MyTable

詳細については、CAST および CONVERT (Transact-SQL)を参照してください。

于 2012-08-16T14:38:23.233 に答える
2

この質問は、サブクエリでキャストを使用していると解釈しました。はい、できます:

select cast((<subquery>) as <newtype>)

その場合、 が 1 つの行と 1 つの値を返すことを確認する必要があります。そして、1 つの値を返すため、代わりにキャストをサブクエリに入れることができます。

select (select cast(<val> as <newtype>) . . .)
于 2012-08-16T15:09:29.183 に答える
0

SQL を使用している場合 (これについては言及していません):

select cast(column as varchar(200)) from table 

次の例のように、任意のステートメントで使用できます。

select value where othervalue in( select cast(column as varchar(200)) from table)
from othertable

結合クエリを実行したい場合、答えはすでに別の投稿にあります:)

于 2012-08-16T14:33:46.873 に答える
0

ケースを使用する場合:

CASE
WHEN TB1.COD IS NULL THEN
    TB1.COD || ' - ' || TB1.NAME
ELSE
    TB1.COD || ' - ' || TB1.NAME || ' - ' || TB.NM_TABELAFRETE
END AS NR_FRETE,
于 2014-10-31T13:23:04.520 に答える