Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U kunt de tsql INSERT-instructie gebruiken om gegevens te laden in een gedistribueerde of gerepliceerde tabel van SQL Server Parallel Data Warehouse (PDW). Zie INSERT voor meer informatie over INSERT. Voor gerepliceerde tabellen en alle niet-distributiekolommen in een gedistribueerde tabel gebruikt PDW SQL Server om impliciet de gegevenswaarden die in de instructie zijn opgegeven, te converteren naar het gegevenstype van de doelkolom. Zie Gegevenstypeconversie voor SQL voor meer informatie over sql Server-regels voor gegevensconversie. Voor distributiekolommen ondersteunt PDW echter alleen een subset van impliciete conversies die door SQL Server worden ondersteund. Wanneer u de INSERT-instructie gebruikt om gegevens in een distributiekolom te laden, moeten de brongegevens daarom worden opgegeven in een van de indelingen die zijn gedefinieerd in de volgende tabellen.
Letterlijke gegevens invoegen in binaire typen
De volgende tabel definieert de geaccepteerde letterlijke typen, opmaak en conversieregels voor het invoegen van een letterlijke waarde in een distributiekolom van het type binair (n) of varbinary(n).
| Letterlijk type | Formaat | Conversieregels |
|---|---|---|
| Binaire letterlijke gegevens | 0xhexadecimal_string Voorbeeld: 0x12Ef |
Binaire letterlijke gegevens moeten worden voorafgegaan door 0x. De lengte van de gegevensbron mag niet groter zijn dan het aantal bytes dat is opgegeven voor het gegevenstype. Als de lengte van de gegevensbron kleiner is dan de grootte van het binaire gegevenstype, worden de gegevens aan de rechterkant opgevuld met nullen om de grootte van het gegevenstype te bereiken. |
Letterlijke tekens invoegen in datum- en tijdtypen
Letterlijke waarden voor datum en tijd worden weergegeven met behulp van tekenwaarden in specifieke notaties, tussen enkele aanhalingstekens. In de volgende tabellen worden de toegestane letterlijke waarden, notatie en conversieregels gedefinieerd voor het invoegen van een letterlijke datum of tijd in een SQL Server PDW-distributiekolom van het type datetime, smalldatetime, date, time, datetimeoffset of datetime2.
datum/tijd-gegevenstype
De volgende tabel definieert de geaccepteerde notaties en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type datum/tijd. Elke lege tekenreeks ('') wordt geconverteerd naar de standaardwaarde '1900-01-01 12:00:00.000'. Tekenreeksen die alleen lege waarden (' ') bevatten, genereren een fout.
| Letterlijk type | Formaat | Conversieregels |
|---|---|---|
| Letterlijke tekenreeks in datum/tijdopmaak | 'YYYY-MM-DD hh:mm:ss[.nnn]' Voorbeeld: '2007-05-08 12:35:29.123' |
Ontbrekende fractionele cijfers worden ingesteld op 0 wanneer de waarde wordt ingevoegd. De letterlijke '2007-05-08 12:35' wordt bijvoorbeeld ingevoegd als '2007-05-08 12:35:00.000'. |
| Letterlijke tekenreeks in de notatie smalldatetime | JJJJ-MM-DD uu:mm Voorbeeld: '2007-05-08 12:35' |
Seconden en resterende fractionele cijfers worden ingesteld op 0 wanneer de waarde wordt ingevoegd. |
| Letterlijke tekenreeks in datumnotatie | 'JJJJ-MM-DD' Voorbeeld: '2007-05-08' |
Tijdwaarden (uur, minuten, seconden en breuken) worden ingesteld op 12:00:00.000 wanneer de waarde wordt ingevoegd. |
| Letterlijke tekenreeks in datetime2-formaat | 'JJJJ-MM-DD hh:mm:ss.nnnnnnn' Voorbeeld: '2007-05-08 12:35:29.1234567' |
De brongegevens mogen niet groter zijn dan drie breukcijfers. De letterlijke waarde 2007-05-08 12:35:29.123 wordt bijvoorbeeld ingevoegd, maar de waarde 2007-05-08 12:35:29.1234567 genereert een fout. |
smalldatetime-gegevenstype
De volgende tabel definieert de geaccepteerde indelingen en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type smalldatetime. Elke lege tekenreeks ('') wordt geconverteerd naar de standaardwaarde '1900-01-01 12:00'. Tekenreeksen die alleen lege waarden (' ') bevatten, genereren een fout.
| Letterlijk type | Formaat | Conversieregels |
|---|---|---|
| Letterlijke tekenreeks in de notatie smalldatetime | 'JJJJ-MM-DD hh:mm' of 'JJJJ-MM-DD hh:mm:00' Voorbeeld: '2007-05-08 12:00' of '2007-05-08 12:00:00' |
De brongegevens moeten waarden hebben voor jaar, maand, datum, uur en minuut. Seconden zijn optioneel en, indien aanwezig, moeten worden ingesteld op de waarde 00. Elke andere waarde genereert een fout. |
| Letterlijke tekenreeks in datumnotatie | 'JJJJ-MM-DD' Voorbeeld: '2007-05-08' |
Tijdwaarden (uur, minuten, seconden en breuken) worden ingesteld op 0 wanneer de waarde wordt ingevoegd. |
datumgegevenstype
De volgende tabel definieert de geaccepteerde notaties en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type datum. Elke lege tekenreeks ('') wordt geconverteerd naar de standaardwaarde '1900-01-01'. Tekenreeksen die alleen lege waarden (' ') bevatten, genereren een fout.
| Letterlijk type | Formaat | Conversieregels |
|---|---|---|
| Letterlijke tekenreeks in datumnotatie | 'YYYY-MM-DD' Voorbeeld: '2007-05-08' |
Dit is de enige geaccepteerde indeling. |
tijdgegevenstype
De volgende tabel definieert de geaccepteerde indelingen en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type tijd. Elke lege tekenreeks ('') wordt geconverteerd naar de standaardwaarde '00:00:00.0000'. Tekenreeksen die alleen lege waarden (' ') bevatten, genereren een fout.
| Letterlijke datatype | Formaat | Conversieregels |
|---|---|---|
| Letterlijke tekenreeks in tijdnotatie | 'hh:mm:ss.nnnnnnn' Voorbeeld: '12:35:29.1234567' |
Als de gegevensbron een kleinere of gelijke precisie (aantal fractionele cijfers) heeft dan de precisie van het tijdgegevenstype , worden de gegevens met nullen aan de rechterkant opgevuld. Een letterlijke waarde '12:35:29.123' wordt bijvoorbeeld ingevoegd als '12:35:29.1230000'. Een waarde met een grotere precisie dan het doelgegevenstype wordt geweigerd. |
Gegevenstype DatetimeOffset
De volgende tabel definieert de geaccepteerde indelingen en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type datetimeoffset (n). De standaardindeling is 'JJJJ-MM-DD hh:mm:ss.nnnnnnn {+|-}hh:mm'. Een lege tekenreeks ('') wordt geconverteerd naar de standaardwaarde '1900-01-01 12:00:00.000000 +00:00'. Tekenreeksen die alleen lege waarden (' ') bevatten, genereren een fout. Het aantal fractionele cijfers is afhankelijk van de kolomdefinitie. Een kolom die is gedefinieerd als datetimeoffset (2) heeft bijvoorbeeld twee fractionele cijfers.
| Letterlijk type | Formaat | Conversieregels |
|---|---|---|
| Letterlijke tekenreeks in datum/tijdopmaak | 'YYYY-MM-DD hh:mm:ss[.nnn]' Voorbeeld: '2007-05-08 12:35:29.123' |
Ontbrekende fractionele cijfers en offsetwaarden worden ingesteld op 0 wanneer de waarde wordt ingevoegd. Bijvoorbeeld, de exacte waarde '2007-05-08 12:35:29.123' wordt ingevoegd als '2007-05-08 12:35:29.1230000 +00:00'. |
| Letterlijke tekenreeks in de notatie smalldatetime | JJJJ-MM-DD uu:mm Voorbeeld: '2007-05-08 12:35' |
Seconden, resterende fractionele cijfers en offsetwaarden worden ingesteld op 0 wanneer de waarde wordt ingevoegd. |
| Letterlijke tekenreeks in datumnotatie | 'YYYY-MM-DD' Voorbeeld: '2007-05-08' |
Tijdwaarden (uur, minuten, seconden en breuken) worden ingesteld op 0 wanneer de waarde wordt ingevoegd. De letterlijke '2007-05-08' wordt bijvoorbeeld ingevoegd als '2007-05-08 00:00:00.0000000 +00:00'. |
| Letterlijke tekenreeks in datetime2-formaat | 'JJJJ-MM-DD hh:mm:ss.nnnnnnn' Voorbeeld: '2007-05-08 12:35:29.1234567' |
De brongegevens mogen het opgegeven aantal fractionele seconden in de kolom datetimeoffset niet overschrijden. Als de gegevensbron een kleiner of gelijk aantal fractionele seconden heeft, worden de gegevens rechts opgevuld met nullen. Als het gegevenstype bijvoorbeeld datetimeoffset (5) is, wordt de letterlijke waarde 2007-05-08 12:35:29.123 +12:15 ingevoegd als '12:35:29.12300 +12:15'. |
| Letterlijke tekenreeks in datetimeoffset-formaat | 'JJJJ-MM-DD HH:mm:ss.nnnnnnn {+|-} HH:mm' Voorbeeld: '2007-05-08 12:35:29.1234567 +12:15' |
De brongegevens mogen het opgegeven aantal fractionele seconden in de kolom datetimeoffset niet overschrijden. Als de gegevensbron een kleiner of gelijk aantal fractionele seconden heeft, worden de gegevens rechts opgevuld met nullen. Als het gegevenstype bijvoorbeeld datetimeoffset (5) is, wordt de letterlijke waarde 2007-05-08 12:35:29.123 +12:15 ingevoegd als '12:35:29.12300 +12:15'. |
datum/tijd2-gegevenstype
De volgende tabel definieert de geaccepteerde notaties en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type datetime2 (n). De standaardindeling is 'JJJJ-MM-DD uu:mm:ss.nnnnnnnn'. Een lege tekenreeks (''') wordt geconverteerd naar de standaardwaarde '1900-01-01 12:00:00'. Tekenreeksen die alleen lege waarden (' ') bevatten, genereren een fout. Het aantal fractionele cijfers is afhankelijk van de kolomdefinitie. Een kolom die is gedefinieerd als datum/tijd2 (2 ) heeft bijvoorbeeld twee fractionele cijfers.
| Letterlijk type | Formaat | Conversieregels |
|---|---|---|
| Letterlijke tekenreeks in datum/tijdopmaak | 'YYYY-MM-DD hh:mm:ss[.nnn]' Voorbeeld: '2007-05-08 12:35:29.123' |
Fractionele seconden zijn optioneel en zijn ingesteld op 0 wanneer de waarde wordt ingevoegd. Een waarde met meer fractionele cijfers dan het doelgegevenstype wordt geweigerd. |
| Letterlijke tekenreeks in de notatie smalldatetime | JJJJ-MM-DD uu:mm Voorbeeld: '2007-05-08 12' |
Optionele seconden en resterende fractionele cijfers worden ingesteld op 0 wanneer de waarde wordt ingevoegd. |
| Letterlijke tekenreeks in datumnotatie | 'YYYY-MM-DD' Voorbeeld: '2007-05-08' |
Tijdwaarden (uur, minuten, seconden en breuken) worden ingesteld op 0 wanneer de waarde wordt ingevoegd. De letterlijke '2007-05-08' wordt bijvoorbeeld ingevoegd als '2007-05-08 12:00:00.0000000'. |
| Letterlijke tekenreeks in datetime2-formaat | 'JJJJ-MM-DD uu:mm:ss:nnnnnnnn' Voorbeeld: '2007-05-08 12:35:29.1234567' |
Als de gegevensbron gegevens- en tijdonderdelen bevat die kleiner zijn dan of gelijk zijn aan de waarde die is opgegeven in datetime2(n), worden de gegevens ingevoegd; anders wordt er een fout gegenereerd. |
Letterlijke waarden invoegen in numerieke typen
In de volgende tabellen worden de geaccepteerde indelingen en conversieregels gedefinieerd voor het invoegen van een letterlijke waarde in een SQL Server PDW-distributiekolom die gebruikmaakt van een numeriek type.
bitgegevenstype
De volgende tabel definieert de geaccepteerde indelingen en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type bit. Een lege tekenreeks ('') of een tekenreeks die alleen lege waarden (' ') bevat, wordt geconverteerd naar 0.
| Letterlijk type | format | Conversieregels |
|---|---|---|
| Letterlijke tekenreeks in integerformaat | 'nnnnnnn' Voorbeeld: '1' of '321' |
Een geheel getal dat is opgemaakt als een letterlijke tekenreeks, mag geen negatieve waarde bevatten. Met de waarde -123 wordt bijvoorbeeld een fout gegenereerd. Een waarde die groter is dan 1, wordt geconverteerd naar 1. De waarde 123 wordt bijvoorbeeld geconverteerd naar 1. |
| Letterlijke tekenreeks | 'WAAR' of 'ONWAAR' Voorbeeld: 'true' |
De waarde WAAR wordt geconverteerd naar 1; de waarde FALSE wordt geconverteerd naar 0. |
| Letterlijk geheel getal | nnnnnnnnnn Voorbeeld: 1 of 321 |
Een waarde die groter is dan 1 of kleiner dan 0, wordt geconverteerd naar 1. De waarden 123 en -123 worden bijvoorbeeld geconverteerd naar 1. |
| Letterlijke decimale | nnnnn.nnnn Voorbeeld: 1234.5678 |
Een waarde die groter is dan 1 of kleiner dan 0, wordt geconverteerd naar 1. De waarden 123,45 en -123,45 worden bijvoorbeeld geconverteerd naar 1. |
Decimaal gegevenstype
De volgende tabel definieert de geaccepteerde notaties en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type decimaal (p,s). De regels voor gegevensconversie zijn hetzelfde als voor SQL Server. Zie Conversie van gegevenstypen op MSDN voor meer informatie.
| Letterlijk type | Formaat |
|---|---|
| Letterlijke tekenreeks in integerformaat | nnnnnnnnnn Voorbeeld: '321312313123' |
| Letterlijke tekenreeks in decimale notatie | 'nnnnnn.nnnnn' Voorbeeld: '123344.34455' |
| Letterlijk geheel getal | nnnnnnnnnnnn Voorbeeld: 321312313123 |
| Letterlijke decimale | nnnnnn.nnnnnn Voorbeeld: '123344.34455' |
float- en echte gegevenstypen
De volgende tabel definieert de geaccepteerde indelingen en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type float of real. Regels voor gegevensconversie zijn hetzelfde als voor SQL Server. Zie Conversie van gegevenstypen op MSDN voor meer informatie.
| Letterlijk type | Formaat |
|---|---|
| Letterlijke tekenreeks in integerformaat | 'nnnnnnn' Voorbeeld: '321312313123' |
| Letterlijke tekenreeks in decimale notatie | 'nnnnnn.nnnnn' Voorbeeld: '123344.34455' |
| Letterlijke tekenreeks in floating point-indeling | n.nnnnnE+nn Voorbeeld: '3.12323E+14' |
| Letterlijk geheel getal | nnnnnnnnnnnn Voorbeeld: 321312313123 |
| Letterlijke decimale | nnnnnn.nnnnnn Voorbeeld: 123344.34455 |
| Letterlijke drijvende komma | n.nnnnnE+nn Voorbeeld: 3.12323E+14 |
int-, bigint-, tinyint-, smallint-gegevenstypen
De volgende tabel definieert de geaccepteerde notaties en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type int, bigint, tinyint of smallint. De gegevensbron mag niet groter zijn dan het bereik dat is toegestaan voor het opgegeven gegevenstype. Het bereik voor tinyint is bijvoorbeeld 0 tot 255 en het bereik voor int is -2.147.483.648 tot 2.147.483.647.
| Letterlijke gegevenssoort | Formaat | Conversieregels |
|---|---|---|
| Letterlijke tekenreeks in integerformaat | nnnnnnnnnnnnnn Voorbeeld: '321312313123' |
Geen |
| Letterlijk geheel getal | nnnnnnnnnnnnnn Voorbeeld: 321312313123 |
Geen |
| Letterlijke decimale | nnnnnn.nnnnnn Voorbeeld: 123344.34455 |
De waarden rechts van het decimaalteken worden afgekapt. |
geld- en smallmoney-gegevenstypen
Letterlijke waarden voor geld worden weergegeven als getallen met een optioneel decimaalteken en valutasymbool als voorvoegsel. De gegevensbron mag niet groter zijn dan het bereik dat is toegestaan voor het opgegeven gegevenstype. Het bereik voor smallmoney is bijvoorbeeld -214.748.3648 tot 214.748.3647 en het bereik voor geld is -922,3 37.203.685.477.5808 tot 922.337.203.685.477.5807. De volgende tabel definieert de geaccepteerde notaties en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type geld of smallmoney.
| Letterlijk type | Formaat | Conversieregels |
|---|---|---|
| Letterlijke tekenreeks in integerformaat | 'nnnnnnnn' Voorbeeld: '123433' |
Ontbrekende cijfers na het decimaalteken worden ingesteld op 0 wanneer de waarde wordt ingevoegd. De letterlijke '12345' wordt bijvoorbeeld ingevoegd als 12345.0000. |
| Letterlijke tekenreeks in decimale notatie | 'nnnnnn.nnnnn' Voorbeeld: '123344.34455' |
Als het aantal cijfers na het decimaalteken groter is dan 4, wordt de waarde naar boven afgerond op de dichtstbijzijnde waarde. De waarde 123344.34455 wordt bijvoorbeeld ingevoegd als 1233344.3446. |
| Letterlijke tekenreeks in geldformaat | '$nnnnnn.nnnn' Voorbeeld: $123456,7890 |
Het optionele valutasymbool wordt niet ingevoegd met de waarde. Als het aantal cijfers na het decimaalteken groter is dan 4, wordt de waarde naar boven afgerond op de dichtstbijzijnde waarde. |
| Letterlijk geheel getal | nnnnnnnnnn Voorbeeld: 123433 |
Ontbrekende cijfers na het decimaalteken worden ingesteld op 0 wanneer de waarde wordt ingevoegd. De letterlijke 12345 wordt bijvoorbeeld ingevoegd als 12345.0000. |
| Letterlijke decimale | nnnnnn.nnnnnn Voorbeeld: 123344.34455 |
Als het aantal cijfers na het decimaalteken groter is dan 4, wordt de waarde naar boven afgerond op de dichtstbijzijnde waarde. De waarde 123344.34455 wordt bijvoorbeeld ingevoegd als 123344,3446. |
| Letterlijk geld | $nnnnnn.nnnn Voorbeeld: $ 123456,7890 |
Het optionele valutasymbool wordt niet ingevoegd met de waarde. Als het aantal cijfers na het decimaalteken groter is dan 4, wordt de waarde naar boven afgerond op de dichtstbijzijnde waarde. |
Letterlijke waarden invoegen in tekenreeksen
De volgende tabellen definiƫren de geaccepteerde indelingen en conversieregels voor het invoegen van een letterlijke waarde in een SQL Server PDW-kolom die gebruikmaakt van een tekenreekstype.
gegevenstypen char, varchar, nchar en nvarchar
De volgende tabel definieert de geaccepteerde indelingen en regels voor het invoegen van letterlijke waarden in een distributiekolom van het type teken, varchar, nchar en nvarchar. De lengte van de gegevensbron mag niet groter zijn dan de grootte die is opgegeven voor het gegevenstype. Als de lengte van de gegevensbron kleiner is dan de grootte van het char of nchar datatype, worden de gegevens aangevuld met spaties om de grootte van het gegevenstype te bereiken.
| Letterlijk type | Formaat | Conversieregels |
|---|---|---|
| Letterlijke tekenreeks | Formaat: 'tekenreeks' Voorbeeld: 'abc' |
Geen |
| Letterlijke unicode-tekenreeks | Notatie: N'tekenreeks' Voorbeeld: N'abc' |
Geen |
| Letterlijk geheel getal | Indeling: nnnnnnnnnnn Voorbeeld: 321312313123 |
Geen |
| Letterlijke decimale | Formaat: nnnnnn.nnnnnnn Voorbeeld: 12344.34455 |
Geen |
| Letterlijk geld | Indeling: $nnnnnn.nnnnn Voorbeeld: $ 123456,99 |
Het valutasymbool wordt niet ingevoegd met de waarde. Als u het valutasymbool wilt invoegen, voegt u de waarde in als een letterlijke tekenreeks. Dit komt overeen met de indeling van de dwloader-tool, die elke letterlijke waarde als een stringliteral behandelt. Komma's zijn niet toegestaan. Als het aantal cijfers na het decimaalteken groter is dan 2, wordt de waarde naar boven afgerond op de dichtstbijzijnde waarde. De waarde 123.946789 wordt bijvoorbeeld ingevoegd als 123,95. Alleen de standaardstijl 0 (geen komma's en 2 cijfers na het decimaalteken) is toegestaan wanneer u de functie CONVERTEREN gebruikt om letterlijke gegevens van geld in te voegen. |