오늘 문제가 발생했습니다. 데이터 테이블의 필드에 있는 "xxx.gif" 텍스트를 "xxx.jpg"로 변환하고 싶습니다. 구체적인 이름은 모르고 gif로 끝나는 것만 알고 있습니다.
문제 해결: 애완동물 세트 업데이트 petPhoto=substring(petPhoto,1,datalength(petPhoto)-3)+'jpg'
petPhoto는 '%.gif'와 같습니다.
일치하는 문자에 주의하세요. "%"는 모든 길이의 문자와 일치하고, "_"는 단일 문자와 일치하며, [A]는 A로 시작하는 모든 문자와 일치하고, [^A]는 A로 시작하는 문자를 제외한 모든 문자와 일치합니다. 함수를 아는 것이 문제 해결의 열쇠입니다(다음은 인터넷에서 재현됨).
1. 통계 함수 avg, count, max, min, sum
2. 수학 함수
천장(n)은 n보다 크거나 같은 가장 작은 정수를 반환합니다.
Floor(n), n보다 작거나 같은 가장 큰 정수를 반환합니다.
round(m,n), round, n은 유지할 소수 자릿수입니다.
절대값(n) 절대값
sign(n), n>0인 경우 1을 반환하고, n=0, 0을 반환하고, n<0, -1을 반환합니다.
PI(), 3.1415....
rand(), rand(n), 0-1 사이의 난수를 반환합니다.
3. 문자열 기능
ascii(), 문자를 ASCII 코드로 변환, ASCII('abc') = 97
char(), ASCII 코드를 문자로 변환
low(), upper() 대소문자 변환
str(a,b,c)는 숫자를 문자열로 변환합니다. a는 변환할 문자열입니다. b는 변환 후의 길이, c는 소수점 이하 자릿수입니다. str(123.456,8,2) = 123.46
ltrim(), rtrim()은 공백을 제거하고, ltrim은 왼쪽의 공백을 제거하고, rtrim은 오른쪽의 공백을 제거합니다.
left(n), right(n), substring(str, start,length) 가로채기 문자열
charindex(하위 문자열, 상위 문자열)가 포함되어 있는지 확인합니다. 0을 반환하지 않고 처음 발생하는 위치를 반환합니다.
patindex('%pattern%', 표현식)은 위와 동일한 기능을 갖지만 와일드카드를 사용합니다.
복제('char', rep_time), 문자열 반복
reverse(char), 문자열을 뒤집습니다.
교체(str, strold, strnew) 문자열 교체
space(n), n개의 빈 줄을 생성합니다.
stuff(), SELECT STUFF('abcdef', 2, 3, 'ijklmn') ='aijklmnef', 2는 시작 위치, 3은 원래 문자열에서 삭제할 문자 길이, ijlmn은 삭제할 문자열입니다. 삽입됩니다.
3. 유형 변환 기능:
캐스트, 캐스트(data_type으로서의 표현식), 예:
SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales FROM titles WHERE CAST(ytd_sales AS char(20)) LIKE '3%'
변환(데이터_유형, 표현식)
4.날짜 기능
일(), 월(), 연도()
dateadd(datepart, number, date), datapart는 추가할 부분을 지정하고, number는 추가할 부분을 알고, date는 추가할 부분을 지정합니다. datepart의 값에는 내일 dateadd(day,1, getdate())와 같은 연도, 분기, 월, 일, 연도, 일, 주, 시, 분, 초가 포함됩니다.
datediff(datepart,date1,date2).datapart는 위와 동일합니다. 전체 함수 결과는 date2 - date1입니다.
datename(datepart, date)는 해당 부분을 가져와서 문자열을 반환합니다.
datepart(datepart, date)는 부분을 가져와 정수를 반환합니다.
getdate() 현재 시간
5. 시스템 기능
col_length('테이블 이름','열 이름')
col_name, SELECT COL_NAME(OBJECT_ID('직원'), 1) = 직원ID
데이터 길이, 예: datalength('abc') =3, datalength(pub_name) --열 이름