sql >> Database >  >> RDS >> Sqlserver

SUBSTRING versus LINKS in SQL SERVER

Er is helemaal geen verschil tussen left en substring omdat left wordt vertaald naar substring in het uitvoeringsplan.

Bijvoorbeeld:

select substring(col, 1, 2),
       left(col, 3)
from YourTable

ziet er zo uit in het uitvoeringsplan

<DefinedValue>
  <ColumnReference Column="Expr1004" />
  <ScalarOperator ScalarString="substring([col],(1),(2))">
    <Intrinsic FunctionName="substring">
      <ScalarOperator>
        <Identifier>
          <ColumnReference Column="col" />
        </Identifier>
      </ScalarOperator>
      <ScalarOperator>
        <Const ConstValue="(1)" />
      </ScalarOperator>
      <ScalarOperator>
        <Const ConstValue="(2)" />
      </ScalarOperator>
    </Intrinsic>
  </ScalarOperator>
</DefinedValue>
<DefinedValue>
  <ColumnReference Column="Expr1005" />
  <ScalarOperator ScalarString="substring([col],(1),(3))">
    <Intrinsic FunctionName="substring">
      <ScalarOperator>
        <Identifier>
          <ColumnReference Column="col" />
        </Identifier>
      </ScalarOperator>
      <ScalarOperator>
        <Const ConstValue="(1)" />
      </ScalarOperator>
      <ScalarOperator>
        <Const ConstValue="(3)" />
      </ScalarOperator>
    </Intrinsic>
  </ScalarOperator>
</DefinedValue>


  1. Mysql - waar clausule langzamer is dan volledige scan

  2. Toegang tot MySQL-poorten beperken?

  3. PostgreSQL hstore/json gebruiken met JdbcTemplate

  4. Hoe vind ik de grootste waarde in een kolom in postgres sql?