Mitä kaksinkertaisen numeron merkki ## tarkoittaa SQL: ssä?

sisällönkuvaus antaa mukavan katkelman SQL: stä

declare @search nvarchar(max) = ##searchfor:string?carefully %listen## select id [Post Link] , score , creationdate , lastactivitydate , closeddate , owneruserid as [User Link] from posts where body like concat("%", @search, "%") collate SQL_Latin1_General_CP1_CI_AI or title like concat("%", @search, "%") collate SQL_Latin1_General_CP1_CI_AI 

Mitä kaksinkertaisen numeron merkki ## tarkoittaa siellä?

Luulen, että se on jonkinlainen merkkijonon syntaksi, mutta en voi edes arvata avainsanaa tälle. googling ”numeromerkki ## SQL: ssä” palauttaa ”etuliitteen väliaikaiset taulukot” , joka on ei tapaus.

Vastaus

## ympäröi kyselyparametria Stack Exchange Data Explorer (SEDE).

Näytön oletusarvo ?: n jälkeen on oletusarvo parametriarvo.

Monica Cellion kirjoittamasta SEDE -oppaasta :

Huomaa: parametreille käytetty erityinen syntaksikohtainen ominaisuus on SEDE. Kaikki, mitä olemme tähän mennessä sanoneet SQL: stä, pätee kaikkiin SQL-makuihin; tämä on erilaista.

Kuten tässä kyselyssä osoitetaan, viittaat parametriin ympäröimällä sen nimen kaksinkertaistetuilla puntimerkkeillä, kuten ## MinScore ##. Vaihtoehtoisesti voit määrittää tietotyypin (int (kokonaisluku), float (desimaaliarvolla varustettu luku, kuten 2.5) tai merkkijono): ## MinScore: int ##. Jos määrität kirjoita sitten SEDE vahvistaa arvot kyseiseen tyyppiin, joten jos odotat numeroa pisteille ja joku kirjoittaa " yksisarvinen " kysely ei toimi. Jos et määritä tyyppiä, kyselysi saattaa saada odottamattomia syötteitä.


## ei ole merkitystä tavallisessa SQL: ssä. Vaikka näin ei ole tässä tapauksessa, sitä käytetään Transact-SQL: ssä etuliitteenä globaalin väliaikaisen objektin tunnistamiseksi:

Säännöt tavallisille tunnisteille

Numeromerkillä alkava tunniste tarkoittaa väliaikaista taulukkoa tai menettelyä. Kaksoisnumeromerkillä (##) alkava tunniste tarkoittaa globaalia väliaikaista objektia. Vaikka numeromerkkiä tai kaksoisnumeromerkkiä voidaan käyttää muun tyyppisten objektien nimien aloittamiseen, emme suosittele tätä käytäntöä.

Kommentit

  • Saattaa olla syytä huomata, että käytät globaalia väliaikaista taulukkoa SQL Serverissä, kun sinun on luotava väliaikainen taulukko, johon on käytettävä useita istuntoja, mutta pysyvä taulukko ei ole ihanteellinen.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *