检查字段/ SQL单元格是否包含hh:mm:ss中的值,如果是,则拆分

时间:2014-02-03 12:13:02

标签: c# sql sql-server date

我有一个ReportViewer,并在其中从SQL数据库加载字段列。

我想检查表达式或SQL查询,如果字段/单元格包含格式为hh:mm:ss的值,如果是,我想删除此字符串。

E.g。该字段可能是:11:30:00, London

每次按,

分割时间和地点

如果单元格包含该值,我只想显示例如Place London

用表达式或SQL查询检查哪个更好,请你帮我解决这个问题?

SQL查询如下所示:SELECT event,name,surname, TimeandPlace FROM table1

感谢您提前抽出时间。

1 个答案:

答案 0 :(得分:3)

你可以非常接近:

where TimeAndPlace like '%[0-2][0-9]:[0-5][0-9]:[0-5][0-9]%'

更准确的方法是:

where TimeAndPlace like '%[0-1][0-9]:[0-5][0-9]:[0-5][0-9]%' or
      TimeAndPlace like '%[2][0-3]:[0-5][0-9]:[0-5][0-9]%'

假设是24小时制。

编辑:

如果您只想在字符串末尾添加部分,请使用case

select (case when TimeAndPlace like '[0-1][0-9]:[0-5][0-9]:[0-5][0-9], %' or
                  TimeAndPlace like '[2][0-3]:[0-5][0-9]:[0-5][0-9], %'
             then stuff(TimeAndPlace, 1, 10, '')
             else TimeAndPlace
        end)