-2

varchar(4)如果我有一个具有以下可变长度值的类型的列,我如何检索字段值的单个字符(例如 A - C - D 从值 ACD)并在 SQL Server 中进行操作。

Column
---
ACD                           
BC                            
CD                     

谢谢

4

2 回答 2

1

您可以使用 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

例如,如果您有三个字符并且您尝试获取第四个字符,您将得到一个空字符串。

Fiddle Example Here

于 2013-09-17T11:19:44.513 回答
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
于 2013-09-17T11:23:32.227 回答