Encontrei um problema hoje: quero converter o texto "xxx.gif" de um campo da tabela de dados para "xxx.jpg".
Problema resolvido: atualizar pet set petPhoto=substring(petPhoto,1,datalength(petPhoto)-3)+'jpg'
onde petPhoto gosta de '%.gif'
Preste atenção aos caracteres correspondentes: "%" corresponde a qualquer caractere de qualquer comprimento, "_" corresponde a qualquer caractere único, [A] corresponde a qualquer coisa que comece com A, [^A] corresponde a qualquer coisa, exceto o que começa com A. Conhecer as funções é a chave para resolver problemas (o seguinte foi reproduzido da Internet):
1. Funções estatísticas média, contagem, máximo, mínimo, soma
2. Funções matemáticas
teto(n) retorna o menor número inteiro maior ou igual a n
floor(n), retorna o maior número inteiro menor ou igual a n
round(m,n), round, n é o número de casas decimais a serem retidas
abs(n) valor absoluto
sinal(n), quando n>0, retorna 1, n=0, retorna 0, n<0, retorna -1
PI(), 3,1415....
rand(), rand(n), retorna um número aleatório entre 0-1
3. Função de string
ascii(), converte caracteres em código ASCII, ASCII('abc') = 97
char(), converte código ASCII em caractere
low(), conversão de maiúsculas()
str(a,b,c) converte números em strings. a, é a string a ser convertida. b é o comprimento após a conversão e c é o número de casas decimais. string(123,456,8,2) = 123,46
ltrim(), rtrim() remove espaços, ltrim remove espaços à esquerda e rtrim remove espaços à direita.
esquerda (n), direita (n), substring (str, início, comprimento) string de interceptação
charindex (substring, string pai), descubra se ele está contido. Retorna a posição da primeira ocorrência, sem retornar 0
patindex('%pattern%', expression) tem a mesma função acima, mas usa curingas
replicar('char', rep_time), repetir string
inverter(char), inverte a string
substituir(str, strold, strnew) substituir string
espaço (n), gera n linhas em branco
stuff(), SELECT STUFF('abcdef', 2, 3, 'ijklmn') ='aijklmnef', 2 é a posição inicial, 3 é o comprimento dos caracteres a serem excluídos da string original e ijlmn é a string a ser ser inserido.
3. Função de conversão de tipo:
cast, cast(expressão como data_type), Exemplo:
SELECT SUBSTRING(título, 1, 30) AS Título, ytd_sales FROM títulos WHERE CAST(ytd_sales AS char(20)) LIKE '3%'
converter(tipo_dados,expressão)
4. Função de data
dia(), mês(), ano()
dateadd(datepart, number, date), datapart especifica qual parte adicionar, number sabe quanto adicionar e date especifica quem adicionar. Os valores de datepart incluem ano, trimestre, mês, dia do ano, dia, semana, hora, minuto, segundo, como data de amanhãadd(dia,1, getdate())
datediff(datepart,date1,date2). datapart é o mesmo que acima. Todo o resultado da função é data2 - data1
datename(datepart, date) pega essa parte e retorna uma string.
datepart(datepart, date) pega uma parte e retorna um número inteiro.
getdate() hora atual
5. Função do sistema
col_length('nometabela','nomecol')
col_name, SELECT COL_NAME(OBJECT_ID('Employees'), 1) = EmployeeID
comprimento de dados, exemplo: datalenght('abc') =3, datalength(pub_name) --column name