如何将varchar列转换为SQL SERVER中的bit列
技术问答
251 人阅读
|
0 人回复
|
2023-09-14
|
Flag1是varchar具有值“ true”和“ false列。我需要把它转换成列。' A) T g: v g5 z( g! V
当我试图这样做时:, P- E3 z7 X' {% Y9 S. J
Convert(Bit,Flag1)它显示了一个错误% ?. C& N8 r' O& [& D+ B/ F: [
Msg 245,Level 16,State 1,Line 2Syntax error converting the varchar value 'False' to a column of data type bit. 1 n9 x: z0 |1 U) u: v9 N5 l* k
解决方案: ) I+ J. v) b9 v! B1 O8 y
在字段字段 Flag除了 true”和“ false还有其他值。因此,请检查Flag1中的值。
! R( V+ q: Q/ d7 [- w从YouTable选择不同的Flag1。. ]: ^: G$ Y% U* g2 s# t
这是我的证明:
1 X# U7 d! L x' z' Rdeclare @Flag varchar(25) = 'False'select CONVERT(Bit,@Flag)它工作正常。7 ]( M4 s4 D7 Y+ w
但同样的错误也会发生。2 h8 r/ S/ | G, D( m
declare @Flag varchar(25) = ' False' -- Pay attention to the the space in ' False'!select CONVERT(Bit,@Flag)->新闻245,级别16,状态1,第二行,varchar值’False’当转换为数据类型时,转换失败。
# c( _% Y" G |+ j4 [% _9 x3 d9 A请注意错误消息中“ False”中的空格! |
|
|
|
|
|