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
你能否在CASE条款中做这样的比较?
SELECT
CASE 
WHEN LEN(field1) > 15
THEN SUBSTRING(field1, 1, 15)
ELSE field1
END
AS 'My Field'
FROM MyTbl
当你按照它的方式编写它时,可以将它想象成一个switch声明,在那里进行隐式的相等比较.如果您需要更复杂的逻辑,则需要以CASE这种方式编写.
小智 5
SELECT 
    CASE
        WHEN LEN(field1) > 15
            THEN SUBSTRING(field1, 1, 15) 
        ELSE field1 
    END 
    AS 'My Field' 
FROM MyTbl 
你需要做的是把你的布尔表达式放在WHEN ...子句中.
| 归档时间: | 
 | 
| 查看次数: | 1185 次 | 
| 最近记录: |