The*_*yan 17 sql sql-server null
首先,我想知道如何CAST使用NULL字段以及它在值时的行为方式NULL?
例如在表达式中:
(CAST(INT_FIELD as nvarchar(100))
Run Code Online (Sandbox Code Playgroud)
如果值INT_FIELD是什么会发生什么NULL?
原因是当我尝试执行以下操作时:
SELECT (CAST(INT_FIELD as nvarchar(100)) + ' ' + SOME_OTHER_FIELD FROM SOME_TABLE;
Run Code Online (Sandbox Code Playgroud)
NULL即使SOME_OTHER_FIELD不是空的我也会得到.我猜它有某种逻辑,NULL + something = NULL但我不确定.
我该如何控制这种行为?
Lam*_*mak 28
你需要使用ISNULL或COALESCE,因为a之间的大多数行操作NULL都会导致NULL.CAST A的NULL收益NULL和NULL+东西也是NULL.在您的示例中,您应该执行以下操作:
SELECT ISNULL(CAST(INT_FIELD as nvarchar(100)),'') + ' ' + ISNULL(SOME_OTHER_FIELD,'')
FROM SOME_TABLE;
Run Code Online (Sandbox Code Playgroud)
当然,在我的例子中,如果两个字段都NULL将返回''而不是'',但你明白了.
| 归档时间: |
|
| 查看次数: |
64743 次 |
| 最近记录: |