Nic*_*ndo 3 t-sql sql-server case
我将如何进行以下查询?
SELECT
CASE LEN(field1)
WHEN > 15 --Error: Incorrect syntax near '>'.
THEN SUBSTRING(field1, 1, 15)
ELSE field1
END
AS 'My Field'
FROM MyTbl
Run Code Online (Sandbox Code Playgroud)
你能否在CASE条款中做这样的比较?
SELECT
CASE
WHEN LEN(field1) > 15
THEN SUBSTRING(field1, 1, 15)
ELSE field1
END
AS 'My Field'
FROM MyTbl
Run Code Online (Sandbox Code Playgroud)
当你按照它的方式编写它时,可以将它想象成一个switch声明,在那里进行隐式的相等比较.如果您需要更复杂的逻辑,则需要以CASE这种方式编写.
小智 5
SELECT
CASE
WHEN LEN(field1) > 15
THEN SUBSTRING(field1, 1, 15)
ELSE field1
END
AS 'My Field'
FROM MyTbl
Run Code Online (Sandbox Code Playgroud)
你需要做的是把你的布尔表达式放在WHEN ...子句中.
| 归档时间: |
|
| 查看次数: |
1185 次 |
| 最近记录: |