【问题标题】:Transact Sql LEFT function weird outputTransact Sql LEFT 函数奇怪的输出
【发布时间】:2010-07-25 15:36:43
【问题描述】:
select replace(stuff('123456',2,2,'ABCD'),'1',' ')

select LEFT('ABCD456',4)

select left(replace(stuff('123456',2,2,'ABCD'),'1',' '),4)

好的,现在第一个选择输出'ABCD456',一系列函数的计算结果是 正是第二个选择中左侧函数的第一个参数 第二次选择按预期返回“ABCD” 第三次选择返回'ABC'

为什么?它不应该也输出'ABCD'吗? 有人知道吗? 提前致谢。

【问题讨论】:

    标签: sql tsql select


    【解决方案1】:

    如果你这样做会更清楚

    select '[' + left(replace(stuff('123456',2,2,'ABCD'),'1',' '),4) + ']'
    

    返回

    [ ABC]
    

    有一个前导空格!

    select stuff('123456',2,2,'ABCD')1ABCD456

    然后将 1 替换为空格

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      相关资源
      最近更新 更多