如何检索字段值的单个字符(例如,从值ACD获取A-C-D),如果我有一个类型为varchar(4)
的列具有以下可变长度值,则可以在SQL Server中进行操作。
Column
---
ACD
BC
CD
谢谢
答案 0 :(得分:1)
您可以使用SUBSTRING:
SELECT SUBSTRING('ABC',1,1)
第一个参数是输入字符串,第二个是基于1的起始索引,第三个是结果的长度。
因此,如果表1中有一列Col1:
SELECT SUBSTRING(Col1,1,1),
SUBSTRING(Col1,2,1),
SUBSTRING(Col1,3,1),
SUBSTRING(Col1,4,1)
FROM Table1
如果您有三个字符并且尝试获得第四个字符,则会得到一个空字符串。
答案 1 :(得分:1)
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