0

テーブルにnvarchar(200)、整数 (文字列として) と非整数の文字列および記号が混在する列があります。たとえば、いくつかのサンプルデータ:-

最初の投稿で varchar(200) と書き込んで申し訳ありませんが、実際には 'nvarchar(200)' です

02
0
.../
125
00125
/2009
1000
0002589
000.00125

&文字のようなマラーティー数字

このコラムを注文するにはどうすればよいですか?

4

4 に答える 4

0

このクエリを使用できます

SELECT CASE
WHEN ISNUMERIC(colName)=1 THEN ROUND(colName, 0) ELSE 0 END AS [colName]
FROM tblName

于 2013-01-25T08:44:13.237 に答える
0

CAST と Convertを使用して、文字列型の値を int 型に変換できます。ただし、値が数値であることを確認してください。

select convert(int,'123')

select CAST('123' as int)
于 2013-01-25T06:00:30.437 に答える
0

多くの DBMS にはCAST()、あるデータ型を別のデータ型に変換できる関数があります。

MySQLについては、このサイトをご覧ください

于 2013-01-25T04:52:22.483 に答える
0

を使用して、varchar が適切な数を保持している与えられCASTたものに変換できます。varcharINT

SELECT CAST(varCharCol as Int)

例えば

col1 as Varchar(10)

col1 = '100'INTへの変換は成功します

しかしcol1 = '100 xyz'、プロセスで失敗する場合。

文字列を見ると、 number of を使用しLTRIMREPLACE数字を取得するか、正規表現を使用してコンマ区切りの数値を取得する必要がある場合があります。それも、元の文字列がどのように見えるかはあまり明確ではありません。

于 2013-01-25T05:06:27.103 に答える