如何以两个字符开头显示整数,否则将其留空。 SQL查询

时间:2017-06-19 15:51:31

标签: sql

我需要在一个字段中显示整数,如果它以" AB"否则不显示/显示数字。

example

2 个答案:

答案 0 :(得分:0)

您的问题是缺少显示此代码的代码(因为您编写后需要将其显示在字段中)所以我无法用实际代码回答您,但这里是解决方案。

如果您只想选择column1AB开头的行,请使用LIKE功能。因此,选择命令的条件是Select * from yourtable where column1 LIKE 'AB%'

如果您已经选择并显示了数据,请在datagridview中说明,并且您希望使用包含textbox的字符串填充AB,那么您将遍历所有行在特定列,并使用string.Contains("AB");

查找它

所以基本上你把这个命令放在foreach loop中就可以了。

答案 1 :(得分:0)

我错了。您可以使用LIKE,而不是WHERE子句。

;WITH testdata AS (
    SELECT 'aw12354' AS val UNION ALL 
    SELECT 'a12b344' UNION ALL 
    SELECT 'AB11111' UNION ALL 
    SELECT '11AB111' UNION ALL 
    SELECT '11111AB' UNION ALL 
    SELECT 'ab22222'
)
SELECT
      CASE WHEN val LIKE 'AB%' THEN val ELSE NULL END AS valFull 
    , CASE WHEN val LIKE 'AB%' THEN SUBSTRING(val,3,len(val)) ELSE NULL END AS valNums
FROM testdata
;

您也可以使用CLR构建正则表达式解决方案,但这更多地涉及 LOT