sql >> Database >  >> RDS >> Sqlserver

Controleer uw sessie-instellingen met SESSIONPROPERTY() in SQL Server

In SQL Server kunt u de SESSIONPROPERTY() functie om de SET . terug te geven opties instellingen van een sessie.

Dit zijn zaken zoals uw ANSI_NULLS instelling, ANSI_PADDING , QUOTED_IDENTIFIER , enz.

Om dit te doen, geeft u eenvoudig de gewenste instellingsnaam door aan de functie als een string, terwijl u de functie selecteert.

Voorbeeld

Hier is een voorbeeld om te demonstreren. In dit voorbeeld controleer ik mijn ANSI_NULLS instelling.

SELECT SESSIONPROPERTY ('ANSI_NULLS');

Resultaat:

1

Mijn sessie had ANSI_NULLS ingesteld op ON toen ik dat uitvoerde, en dus was het resultaat 1 .

Als ik mijn ANSI_NULLS verander instelling op OFF , krijg ik een ander resultaat.

SET ANSI_NULLS OFF;
SELECT SESSIONPROPERTY ('ANSI_NULLS');

Resultaat:

0

De nul betekent OFF .

Argumenten

De SESSIONPROPERTY() functie accepteert de volgende argumenten.

Optie Beschrijving
ANSI_NULLS Specificeert of het ISO-gedrag van gelijk is aan (= ) en niet gelijk aan (<> ) tegen null-waarden wordt toegepast.
ANSI_PADDING Bepaalt de manier waarop de kolom waarden opslaat die korter zijn dan de gedefinieerde grootte van de kolom, en de manier waarop de kolom waarden opslaat die volgspaties hebben in tekens en binaire gegevens.
ANSI_WARNINGS Geeft aan of het ISO-standaardgedrag van het genereren van foutmeldingen of waarschuwingen voor bepaalde voorwaarden, waaronder delen door nul en rekenkundige overloop, wordt toegepast.
ARITHABORT Bepaalt of een query wordt beëindigd wanneer er een overloop of een deling-door-nul-fout optreedt tijdens de uitvoering van de query.
CONCAT_NULL_YIELDS_ NULL Bepaalt of aaneenschakelingsresultaten worden behandeld als null- of lege tekenreekswaarden.
NUMERIC_ROUNDABORT Specificeert of foutmeldingen en waarschuwingen worden gegenereerd wanneer het afronden in een uitdrukking een verlies aan precisie veroorzaakt.
QUOTED_IDENTIFIER Geeft aan of ISO-regels over het gebruik van aanhalingstekens om identifiers en letterlijke tekenreeksen te scheiden moeten worden gevolgd.

Deze retourneren allemaal 1 of 0 (met 1 wat betekent ON , en 0 wat betekent OFF ).

Elke andere waarde resulteert in NULL wordt geretourneerd.


  1. Waarom kan ik geen a doen met x als (...) met ADODB en Oracle?

  2. Is er zoiets CASE-expressie in JPQL?

  3. Escalatie van SQL Server-vergrendeling

  4. Verbinding kan niet worden gecast naar oracle.jdbc.OracleConnection