私はSQLで彼を書き込もうとしています:
SET `Field` = (
If `Field` is empty then "b",
if `Field` is not empty, concat(`Field`,"_b"))
つまり、値が a の場合Field
は a_b に変更され、空の場合は b に変更されます。この if..else ステートメントを適切に作成する SQL シンタックスはありますか?
私はSQLで彼を書き込もうとしています:
SET `Field` = (
If `Field` is empty then "b",
if `Field` is not empty, concat(`Field`,"_b"))
つまり、値が a の場合Field
は a_b に変更され、空の場合は b に変更されます。この if..else ステートメントを適切に作成する SQL シンタックスはありますか?
IF(Field = "" or Field IS NULL,'b',concat(Field,'_b'))
CASEステートメントを使用できます。
例:
SELECT
CASE
WHEN myField IS NULL THEN 'b'
WHEN myField = '' THEN 'b'
ELSE myField + '_b'
END
FROM myTable
CASEキーワードを使用する必要があります。
何かのようなもの
UPDATE tbl
SET field =
CASE
WHEN field = ''
THEN 'b'
ELSE field + '_b'
END
Cases を使用できますが、次のように短縮できます。
set Field = isnull(field, '')
+ case when isnull(field, '') = '' then '' else '_' end
+ 'b'