Stałe (Transact-SQL)

Symbol, który odpowiada wartości określonych danych jest stała, znany także jako literału lub wartość wartość skalarna .Format stała zależy od typu danych wartość, którą on reprezentuje.

  • Stałe ciąg znaków
    Stałe ciąg znaków ujęty w znaki pojedynczego cudzysłowu i zawierają znaki alfanumeryczne (a–z, A–z i 0-9) i znaki specjalne, takie jak wykrzyknik (!), znaku (@) oraz numer rejestracji (#).Stałe ciąg znaków przypisywane są domyślne sortowanie bieżącej bazy danych, chyba że klauzula COLLATE służy do określania sortowanie.Ciągi znaków wpisanych przez użytkowników oceniane są poprzez strona kodowa na komputerze i są tłumaczone na domyślny bazy danych strona kodowa , jeśli jest wymagane.

    Jeśli opcja QUOTED_IDENTIFIER została zestaw dla połączenia, ciągi znaków może być ujęty w znaki cudzysłowu, ale Microsoft SQL Server macierzystego dostawcy klienta i sterownika ODBC automatycznie użyj Ustaw QUOTED_IDENTIFIER na.Zaleca się znaki pojedynczego cudzysłowu.

    Jeśli znak ciąg ujęty w znaki pojedynczego cudzysłowu zawiera osadzony znak cudzysłowu, reprezentują osadzony pojedynczy znak cudzysłowu z dwa znaki pojedynczego cudzysłowu.Nie jest to wymagane w ciągach znaków osadzonych w podwójny cudzysłów.

    Oto przykłady ciągów znaków:

    'Cincinnati'
    'O''Brien'
    'Process X is 50% complete.'
    'The level for job_id: %d should be between %d and %d.'
    "O'Brien"
    

    Puste ciągi są przedstawiane jako dwa znaki pojedynczego cudzysłowu pustą między nimi.W trybie zgodności 6.x pusty ciąg jest traktowana jako pojedyncza spacja.

    Stałe ciąg znaków obsługują rozszerzone sortowania.

    Ostrzeżenie

    Znak większe niż 8000 bajtów są wpisywane jako stałe varchar(max) danych.

  • Ciągi znaków Unicode
    Ciągi znaków Unicode mają format podobny do ciągów znaków, ale są poprzedzone identyfikator N (N oznacza krajowe języka SQL-92 standardowego).Prefiks n muszą być wielkimi literami.Na przykład "Michél" jest znak stała podczas N 'michél' jest Unicode stała.Stałe Unicode są interpretowane jako dane Unicode i nie są sprawdzane przy użyciu strona kodowa.Stałe Unicode mają sortowanie.To sortowanie steruje przede wszystkim przypadek czułości i porównań.Stałe Unicode przypisywane są domyślne sortowanie bieżącej bazy danych, chyba że klauzula COLLATE służy do określania sortowanie.Unicode, dane są przechowywane przy użyciu 2 bajty na znak zamiast 1 bajcie na znak danych znakowych.Aby uzyskać więcej informacji, zobacz Przy użyciu danych Unicode.

    Stałe ciąg Unicode obsługują rozszerzone sortowania.

    Ostrzeżenie

    Stałe Unicode większych niż 8000 bajtów są wpisywane jako nvarchar(max) danych.

  • Stałe binarne
    Stałe binarne mają prefiks 0x i ciąg liczb szesnastkowych.Nie są ujęte w znaki cudzysłowu.

    Poniżej przedstawiono przykłady ciągów binarnych, są:

    0xAE
    0x12Ef
    0x69048AEFDD010E
    0x  (empty binary string)
    

    Ostrzeżenie

    Stałe binarne większe niż 8000 bajtów są wpisywane jako varbinary(max) danych.

  • bit stałe
    bit stałe są reprezentowane przez liczby 0 lub 1 i nie są ujęte w cudzysłów.Jeśli używana jest większy niż liczba, jest konwertowany na jeden.

  • datetimestałe
    datetimestałe są reprezentowane za pomocą znaków wartości data w określonych formatach, ujęta w znaki cudzysłowu pojedynczego.Aby uzyskać więcej informacji na temat formatów dla datetime stałe, zobacz Data i czas danych.

    Oto przykłady datetime stałych:

    'December 5, 1985'
    '5 December, 1985'
    '851205'
    '12/5/98'
    

    Przykłady stałych czas :

    '14:30:24'
    '04:24 PM'
    
  • integerstałe
    integerstałe są reprezentowane przez ciąg liczb, które nie są ujęte w cudzysłów i nie zawierają punktów dziesiętnych.integerstałe muszą być liczbami całkowitymi; nie mogą zawierać miejsca po przecinku.

    Oto przykłady integer stałych:

    1894
    2
    
  • decimalstałe
    decimalstałe są reprezentowane przez ciąg liczb, które nie są ujęte w cudzysłów i zawierać przecinka dziesiętnego.

    Oto przykłady decimal stałych:

    1894.1204
    2.0
    
  • floati real stałe
    floati real stałe są przedstawiane przy użyciu notacji naukowej.

    Oto przykłady float lub real wartości:

    101.5E5
    0.5E-2
    
  • moneystałe
    moneystałe są przedstawiane jako ciąg liczb z opcjonalnym przecinka dziesiętnego i symbolu opcjonalne waluty jako prefiks.Money constantsare nie jest ujęty w cudzysłów.

    SQL Servernie Wymuszaj wszelkiego rodzaju reguł grupowanie , takich jak wstawianie każdych trzech znaków w ciągach znaków, które reprezentują pieniędzy przecinek (,).

    Ostrzeżenie

    Przecinki są ignorowane w dowolne miejsce w określonym money literal.

    Oto przykłady money stałych:

    $12
    $542023.14
    
  • uniqueidentifierstałe
    uniqueidentifierstałe są ciąg reprezentujący identyfikatora GUID.Mogą one być określone w znak lub ciąg binarny format.

    Poniższe przykłady zarówno określić ten sam identyfikator GUID:

    '6F9619FF-8B86-D011-B42D-00C04FC964FF'
    0xff19966f868b11d0b42d00c04fc964ff
    

Określanie negatywnych i pozytywnych liczb

Aby wskazać, czy liczba jest dodatnia lub ujemna, stosuje się + lub operatory jednoargumentowe liczbową stała.Tworzy liczbowe wyrażenie reprezentujący podpisane wartość liczbową.Stałe numeryczne używane dodatnie podczas + lub operatory jednoargumentowe nie są stosowane.

  • Podpisany integer wyrażeń:

    +145345234
    -2147483648
    
  • Podpisany decimal wyrażeń:

    +145345234.2234
    -2147483648.10
    
  • Podpisany float wyrażeń:

    +123E-3
    -12E5
    
  • Podpisany money wyrażeń:

    -$45.56
    +$423456.99
    

Ulepszone sortowanie

SQL Serwer obsługuje znak i stałych ciąg Unicode, które obsługują rozszerzone sortowania.Aby uzyskać więcej informacji, zobacz SORTOWANIE (Transact-SQL) klauzula.