varchar(4)
如果我有一个具有以下可变长度值的类型的列,我如何检索字段值的单个字符(例如 A - C - D 从值 ACD)并在 SQL Server 中进行操作。
Column
---
ACD
BC
CD
谢谢
varchar(4)
如果我有一个具有以下可变长度值的类型的列,我如何检索字段值的单个字符(例如 A - C - D 从值 ACD)并在 SQL Server 中进行操作。
Column
---
ACD
BC
CD
谢谢
您可以使用 SUBSTRING:
SELECT SUBSTRING('ABC',1,1)
第一个参数是输入字符串,第二个参数是从 1 开始的起始索引,第三个参数是结果的长度。
因此,如果您在表 Table1 中有列 Col1:
SELECT SUBSTRING(Col1,1,1),
SUBSTRING(Col1,2,1),
SUBSTRING(Col1,3,1),
SUBSTRING(Col1,4,1)
FROM Table1
例如,如果您有三个字符并且您尝试获取第四个字符,您将得到一个空字符串。
select case when CHARINDEX('A', columnName, 1) > 0 then 1 else 0 end has_a,
case when CHARINDEX('B', columnName, 1) > 0 then 1 else 0 end has_b,
case when CHARINDEX('C', columnName, 1) > 0 then 1 else 0 end has_c,
case when CHARINDEX('D', columnName, 1) > 0 then 1 else 0 end has_d
from tableName