Beetje rare topictitel misschien, maar ik zal proberen het duidelijk te maken. Ik heb een query die bestaat uit een SELECT INTO constructie. Bij de geselecteerde velden velden zit ook een berekend veld, die ik initieel op 0 zet. Het probleem is dat MSSQL daaruit impliciet concludeert dat dat veld dus een tinyint is, terwijl ik liever een int heb. Laat ik het eens visualiseren:
Zo krijg ik een tijdelijke tabel met veldje1, veldje2 en veldje3. Veldje3 is dan van het type tinyint, maar die moet dus int worden. Dus dacht ik:
Maar dan blijft het dus een tinyint... Dus als er een manier is om van veldje3 toch een 'grotere' integer te maken, weet iemand dan hoe dat moet? Wat ik liever niet doe, is de tijdelijke tabel handmatig aanmaken met een CREATE TABLE of initieel 2147483647 erin zetten. Of streep ik dan de enige twee oplossingen weg?
btw, waarom is "#temp FROM tabelletje" zwart met een rode streep eronder?
SQL:
1
| SELECT veldje1, veldje2, 0 AS veldje3 INTO #Temp FROM tabelletje |
Zo krijg ik een tijdelijke tabel met veldje1, veldje2 en veldje3. Veldje3 is dan van het type tinyint, maar die moet dus int worden. Dus dacht ik:
SQL:
1
| SELECT veldje1, veldje2, CONVERT(int, 0) AS veldje3 INTO #Temp FROM tabelletje |
Maar dan blijft het dus een tinyint... Dus als er een manier is om van veldje3 toch een 'grotere' integer te maken, weet iemand dan hoe dat moet? Wat ik liever niet doe, is de tijdelijke tabel handmatig aanmaken met een CREATE TABLE of initieel 2147483647 erin zetten. Of streep ik dan de enige twee oplossingen weg?
btw, waarom is "#temp FROM tabelletje" zwart met een rode streep eronder?
日本!🎌