Articles of tsql

FOR XML PATH (”): Escape de caracteres “especiais”

Este código basicamente traduz caracteres baseados em posição em uma string para o caractere na mesma posição em outra string e é executado para todas as linhas na tabela. Quando eu corro isso (versão simplificada): DECLARE @R char(40) DECLARE @U char(40) SET @R=’ abcdefghijklmnopqrstuvwxyz!@#$%^&*()_+’+char(181) SET @U=REVERSE(@R) DECLARE @TestTable TABLE (RowID int identity(1,1) primary key, Unreadable […]

Chaves curvas em T-SQL

Eu me deparei com o seguinte t-sql: SELECT {d’9999-12-31′} Que retorna 9999-12-31 00:00:00.000 . Isso parece estar convertendo o tipo da string literal em DATETIME . Não consigo encontrar nenhuma documentação sobre esta syntax e estou querendo saber se há alguma variação, por exemplo, se eu tenho um literal 1 mas quero representar isso em […]

Cláusula de saída do SQL Server em uma variável escalar

Existe alguma maneira “simples” de fazer isso ou preciso passar por uma variável de tabela com a syntax “OUTPUT … INTO”? DECLARE @someInt int INSERT INTO MyTable2(AIntColumn) OUTPUT @SomeInt = Inserted.AIntColumn VALUES(12)

Truncar data e hora para segundo (remover milissegundos) em T-SQL

Qual é a melhor maneira de encurtar um datetime que inclui milissegundos para ter apenas o segundo? Por exemplo, 2012-01-25 17:24:05.784 até 2012-01-25 17:24:05

Consulta do SQL Server – multiplicação de agrupamento

Se temos uma mesa como esta: Grp Value Grp1 2 Grp1 5 Grp1 3 Grp2 3 Grp2 -5 Grp2 -2 Grp3 4 Grp3 0 Grp3 1 Grp4 -2 Grp4 -4 Grp5 7 Grp5 NULL Grp6 NULL Grp6 NULL Grp7 -1 Grp7 10 Como podemos agrupar / multiplicar para conseguir isso? GrpID Value Grp1 30 Grp2 […]

Notação de ponto SQL

Alguém pode me explicar como o SQL Server usa notação de ponto para identificar a localização de uma mesa? Eu sempre pensei que o local é Database.dbo.Table Mas vejo código que tem outra coisa no lugar do dbo , algo como: DBName.something.Table Alguém pode explicar isso?

Como obter o último dia da semana passada no sql?

Como obter a última data do lastweek no sql? Quero dizer última data de domingo usando consulta?

SQL Server replace, remova todos após determinado caractere

Meus dados parecem ID MyText 1 some text; some more text 2 text again; even more text Como posso atualizar o MyText para largar tudo após o ponto-e-vírgula e include o ponto e vírgula, então fico com o seguinte: ID MyText 1 some text 2 text again Eu olhei para o SQL Server Replace , […]

Ignorando um parâmetro NULL no T-SQL

Eu quero ser capaz de passar em uma lista de parâmetros e ignorar os que são NULL. Assim, a consulta está, na verdade, fingindo que o filtro não está lá e ignorando-o. Eu estava fazendo assim: (@thing IS NULL or Thing=@thing) Isso está certo e, em caso afirmativo, seria ruim? Parece ser muito mais lento […]

SET vs. SELECT – Qual a diferença?

Alguém pode, por favor, identificar as diferenças funcionais / de desempenho, se houver, entre SET e SELECT no T-SQL? Em que condições devo escolher uma sobre a outra? ATUALIZAR: Obrigado a todos que responderam. Como algumas pessoas apontaram, este artigo de Narayana Vyas Kondreddi tem muitas informações boas. Eu também examinei a rede depois de […]