我需要只用 0 或 1 填充位列,我尝试了以下操作,但只给了我 1:
convert(bit, 2*rand())
我怎样才能让它发挥作用?
向此表达式传递任何大于 0 的值每次都会产生 1。为了做你想做的事,你需要自己对结果进行舍入:
select convert(bit, round(1*rand(),0))
这将为您提供一个随机值0或1 bit值。
如果您需要多行,并且不关心值的具体分布,则类似以下内容可能是合适的:
CONVERT(bit,SUBSTRING(CONVERT(binary(18),newid()),1,1)&1)
这将每行评估一次
| 归档时间: | 
 | 
| 查看次数: | 5134 次 | 
| 最近记录: |