代码之家  ›  专栏  ›  技术社区  ›  Daniel

sql前置项

sql
  •  1
  • Daniel  · 技术社区  · 14 年前

    我有一些不稳定的条目,它们应该由同一个字符串前置。

    有的有数字,有的有美元符号和数字

    所以我有一个语法可以找到所有没有美元符号的条目

    WHERE [mydata] not like '$%'
    

    如何在每个条目前添加字符串?

    2 回复  |  直到 14 年前
        1
  •  4
  •   GendoIkari    14 年前
    update table set mydata = '$' + mydata where [mydata] not like '$%'
    

    +只在SQLServer中有效;您可能需要使用 concatenate 否则会起作用。

        2
  •  1
  •   Twelfth    14 年前

    如果您只需要一个select语句来返回带有$的值,则可以:

    Select '$' + field
    from [table]
    where field not like '$%'
    

    如果您希望同时返回带有$和不带$的记录,则可以将其作为case语句运行$

    Select case when left(field,1) = '$' then '' else '$' end + field
    from [table]
    where field not like '$%'
    

    编辑:可能需要将“field”转换为varchar才能使+工作,如果字段是int,则会出现语法错误(但是字段中有$sparadialy,所以我假设它是varchar