質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Q&A

解決済

1回答

2180閲覧

sql server ある文字(varchar型)が整数かどうかCASE文で判断したい

satoshi_25

総合スコア6

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

0グッド

0クリップ

投稿2020/05/22 10:48

sql serverにてあるテーブルに格納されている文字(varchar型)から、整数の場合は整数に「.0」を付けて返し、それ以外の場合はNULLで返したい場合、どういったCASE文を書けばいいでしょうか?

例.
SELECT
(CASE WHEN テーブル.項目 = 整数 THEN 項目+'.0'
ELSE NULL)
FROM Table

テーブル.項目 = 整数
の表現方法がわからないです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sousuke

2020/05/22 11:08

[項目]列の値には数値以外の文字もあり得るのでしょうか?
satoshi_25

2020/05/22 11:24

通常の文字もあり得ます。 その場合はNULLにいかせたいです。
guest

回答1

0

ベストアンサー

sql

1--drop table Table1 2create table Table1 (項目 varchar(50)) 3insert into Table1 values('0')  4insert into Table1 values('1') 5insert into Table1 values('0.1') --少数点数 6insert into Table1 values('a') --文字 7select * from Table1 8/* 9項目 100 111 120.1 13a 14*/ 15 16SELECT CASE WHEN ISNUMERIC(項目 + '.e0') = 1 THEN 項目 + '.0' ELSE NULL END 17FROM Table1 18/* 19(列名なし) 200.0 211.0 22NULL 23NULL 24*/

ご参考
https://stackoverflow.com/questions/10517777/t-sql-determine-if-value-is-integer

投稿2020/05/22 11:06

編集2020/05/22 11:07
gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sousuke

2020/05/22 11:46

これはすごいですね、意味は全くわかりませんが/(^o^)\
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問