在postgres中,我可以使用以下内容:
Accept
但是在SQL Server中无法使用“=”
如何在SQL Server中实现它。
答案 0 :(得分:3)
LEFT
函数没有错,但在评估表达式后返回true
或false
,您需要CASE
或IIF
SQL server
case when LEFT([COLUMN], 1) = 'B' then 'true' else 'false' end
或
IIF(LEFT([COLUMN], 1) = 'B','true','false' )
答案 1 :(得分:1)
OP询问了postgresql语法,这在sql server看来确实很奇怪。我猜您想返回一列布尔值? 那么问题将是sql server完全没有布尔数据类型!但是您可以使用BIT并将含义分配给0、1和NULL。但是它不是内置的。
对于标题“如何在SQL Server中使用带有条件的左函数进行选择?”,这很简单:CASE-END语句支持LEFT函数。但是有一个警告,那就是CASE-END的两种不同语法:
语法1:
WixForm
语法2:
TYPE_OF_PKG
两者之间的 big 区别是:语法1使所有条件都检查相同的值(即[Column]),而语法2支持不同的条件子句。他们不能混在一起。例如: 1)
this.RadioButtonsGroup.BoundProperty = "TYPE_OF_PKG";
this.RadioButtonsGroup.ControlType = WixSharp.Controls.ControlType.RadioButtonGroup;
this.RadioButtonsGroup.EmbeddedXML = @"
<RadioButtonGroup Property=""TYPE_OF_PKG"">
<RadioButton Value=""ABC"" X=""0"" Y=""0"" Width=""400"" Height=""20"" Text=""ABC"" />
<RadioButton Value=""XYZ"" X=""0"" Y=""20"" Width=""400"" Height=""20"" Text=""XYZ"" />
</RadioButtonGroup>";
this.RadioButtonsGroup.Hidden = false;
this.RadioButtonsGroup.Id = "RadioButtonsGroup";
this.RadioButtonsGroup.Location = new System.Drawing.Point(12, 69);
this.RadioButtonsGroup.Name = "RadioButtonsGroup";
this.RadioButtonsGroup.Size = new System.Drawing.Size(466, 125);
this.RadioButtonsGroup.Text = "What to install .wixText?";
this.RadioButtonsGroup.Tooltip = null;
this.RadioButtonsGroup.WixAttributes = null;
this.RadioButtonsGroup.WixText = "What to install .wixText?";
在“ =”上抛出语法错误,而2)
CASE [Column] WHEN 'B' THEN 1 ELSE 0 END
工作完美。