【发布时间】:2020-06-18 11:00:42
【问题描述】:
occurrence_limit 列是货币数据类型,
如果是 NULL,我只想要空字符串 (''),但它给了我 0.00。
ISNULL(occurrence_limit,'') as occurrence_limit
我怎样才能简单地使用'' 而不是0.00?
【问题讨论】:
-
空字符串不是
money的有效值。为什么不直接使用null? -
不要。就那么简单。在您的表示层中处理它。
''不是数字,因此不能存储为money值,而是隐式转换为0。您当然不想将您的数字视为varchar(我可以向您保证100大于2,而不是小于它)所以保持原样。 -
输出到excel表。用户要求如果为NULL则为空
-
所以修复输出到 Excel 的内容,@Serdia。 大多数 应用程序实际上并不显示
NULL,它们显示的是一个空的“单元格”,因此您使用的任何ETL 过程实际上都是放置“NULL”。修复 ETL 过程。只有真正的 IDE 倾向于显示NULL,因为它在处理字符串时与''不同。
标签: sql-server tsql sql-server-2012