내장함수
2001. 01. 10
문자열함수 / 날짜함수 / 기타 함수
문자열 함수
함수 |
내용 |
예제 |
Asc |
(문자열) 첫번째 문자의 ANSI문자 코드 반환 |
asc(A) => 65 asc(a) => 97 |
Chr |
(아스키문자) ANSI 문자 코드와 관련된 문자 반환 |
chr(65) => A |
InStr |
(문자열1, 문자열2) 문자열1에서 문자열2의 위치를 반환. |
instr ("abcdef" , "d" ) => 4 |
InStrRev |
(문자열1, 문자열2) instr와 같지만 검색을 뒤에서부터 검색한다. |
instrRev( "abcdef", "d" ) =>4 |
Len |
(문자열) 문자열의 길이 |
Len("abcdef" ) => 6 |
Left |
(문자열, 크기) 왼쪽부터 크기만큼 추출 |
Left ("abcdef" , 2 ) => ab |
Mid |
(문자열,추출할 시작위치,크기) 추출할 위치로부터 크기만큼 중간 문자를 추출 |
Mid ("abcdef" , 3, 2) => cd |
Right |
(문자열, 크기) 오른쪽부터 크기만큼 추출 |
right ("abcdef", 3) =>def |
Trim |
(문자열) 앞, 뒤에 있는 공백을 제거 |
Trim(" abcdef " ) => "abcdef"
|
RTrim |
(문자열) 오른쪽 공백 제거 |
RTrim("abcdef " ) => "abcdef" |
LTrim |
(문자열) 왼쪽 공백 제거 |
LTrim(" abcdef" ) => " abcdef" |
StrComp |
(문자열1, 문자열2) 문자열 비교 문자열1이 문자열보다 작은경우 -1, 같은경우 0, 큰경우 1, 둘 중하나가 Null 인경우 null값을 반환. |
StrComp("ab", "AB" ) => 1 StrComp("ab", "ab" ) => 0 |
StrReverse |
(문자열) 문자열을 역순으로 반환 |
StrReverse("abcdef") => fedcba |
Split |
(문자열, 구분자, 개수 ) 구분자로 개수만큼 앞에서부터 잘라내 첨자가 0부터 시작하는 1차원 배열을 만든다. |
a = Split("ab/cd/ef", "/") => a(0)="ab" a(1)="cd" a(2)="ef" |
Replace |
(문자열,찾을문자열,바꿀문자열) 문자 치환하기. 바꿀 문자를 찾아서 모두 바꾸기 한다. |
Replace("abcdef", "c","v") => abvdef |
LCase |
(문자열) 소문자로 전환 |
Lcase("ABCDEF") => abcdef |
UCase |
(문자열) 대문자로 전환 |
UCase("abcdef") => ABCDEF |
날짜/시간 함수
시스템 날짜, 시간에 관련된 함수
함수 |
내용 |
예제 |
Date |
date 시스템 날짜. 사용자의 현재 날짜 |
date => 2001-1-5 |
Day |
day(date) 현 날짜에서 일자만 추출 |
day(date) => 5 |
Month |
month(date) 날짜 수식에서 월 |
month(date) => 1 |
Year |
Year(date) 날짜 수식에서 연도 표시 |
Year(date) => 2001 |
Time |
time 시스템 시간 |
time => 10:25:40 |
Hour |
hour(time) 시간 |
hour(time) => 10 |
Minute |
Minute(time) 분 |
Minute(time) => 25 |
Second |
second(time) 초 |
second(time) => 40 |
Now |
now 시스템의 날짜와 시간 |
now => 2001-1-5 10:25:40 |
Weekday |
Weekday(date) 요일 1:일요일~7:월요일 |
Weekday(date) => 4 |
weekdayname |
weekdayname(date) 요일을 문자열로 반환 |
weekdayname(Weekday(date)) => 수요일 |
DateAdd |
현날짜에 일,월,연도를 대상으로 일자를 추가 |
dateadd("d", 10, date) => 2001-1-15 |
DateDiff |
두 날짜사이의 간격을 일,월,연도로 계산 |
datediff ("d", #2001-01-1#, #2001-01-24#) => 13 |
DatePart |
현날짜에서 일,월,연도를 반환 |
datepart("d", date) => 5 |
DateAdd(interval, number, date)
지정된 날짜에 시간을 추가하거나 뺀 새로운 날짜를 반환한다
interval : 날짜나 시간의 다양한 기준을 설정하는 인수로 자세한 내용은 다음과 같다.
(yyyy 년 , q 분기 , m 월 , y 일(일년 기준) , d 일 , w 요일 , ww 주(일년 기준) ,h 시 ,n 분 , s 초 )
number : 추가할 날짜나 시간의 수로써 양수는 미래의 날짜, 음수는 과거의 날짜이다.
date : 기준 날짜
<%
Response.Write "오늘날짜 : " & Date & "<BR>"
Response.Write "오늘날짜+3개월 : " & DateAdd("m",3,Date) & "<BR>"
Response.Write "오늘날짜-3개월 : " & DateAdd("m",-3,Date) & "<BR>"
%>
DateDiff (interval, date1, date2)
주어지는 두 날짜의 간격을 반환한다
interval : 날짜나 시간의 다양한 기준을 설정하는 인수로 자세한 내용은 다음과 같다.
( yyyy 년 , q 분기 , m 월 , y 일(일년 기준) , d 일 , w 요일 , ww 주(일년 기준) ,h 시 ,n 분 , s 초 )
date1, date2 : 두 날짜사이의 간격에 사용할 두 날짜이다.
<%
FirstDate = CDate("2001년 1월 1일")
MyDate = Date
Response.Write FirstDate & "부터 지금까지 " & DateDiff("y", FirstDate, MyDate) & "일 경과 <BR>"
Response.Write FirstDate & "부터 지금까지 " & DateDiff("h", FirstDate, MyDate) & "시 경과 <BR>"
%>
DatePart(interval, date)
주어진 날짜의 지정된 부분을 반환한다.
interval : 날짜나 시간의 다양한 기준을 설정하는 인수로 자세한 내용은 다음과 같다.
( yyyy 년 , q 분기 , m 월 , y 일(일년 기준) , d 일 , w 요일 , ww 주(일년 기준) ,h 시 ,n 분 , s 초 )
date : 필수적인 인수로 계산할 날짜식이다.
<%
Response.Write "오늘 " & now & "은 " & DatePart("q", now ) & "분기 입니다."
%>
수학 함수
함수 |
내용 |
예제 |
Round |
(수치,소수점이하자리) 반올림하여 지정한 자리까지 표기 |
Round ( 1234.567 , 2 ) => 1234.57 Round ( 1234.567 ) => 1235 |
Rnd |
난수 발생 0.00000 ~ 0.999999 사이의 난수를 반환 |
Rnd() => 0.533434 |
Fix |
(숫자) 정수 변환 |
Fix (123.45) => 123 |
Int |
(숫자) 정수 변환 |
int (123.45) => 123 |
Eval |
(식) 주어진 식의 결과를 얻는다. |
Eval (" 10 + 5" ) => 15 |
Abs |
(숫자) 수의 절대값 반환 |
Abs(-10.5) => 10.5 |
Hex |
(숫자) 16진수 값을 반환 |
Hex(15) => f |
Oct |
(숫자) 8진수 값을 반환 |
Oct(8) => 10 |
Sgn |
(숫자) 수의 부호를 반환 양수는 1, 음수는 -1, 0은 0의 값을 반환 |
Sgn(-10) => -1 |
Atn |
아크탄젠트 |
|
Cos |
코사인 |
|
Tan |
탄젠트 |
|
Sin |
사인 |
|
Exp |
거듭제곰하는 자연로그의 밑인 e 를 반환 |
Exp(1.3) |
Log |
자연로그를 반환 |
Log(10) |
Sqr |
제곱근 |
Sqr(4) => 2 |
Rnd 함수
램덤함수로 무작위 0~ 1사이의 수를 추출한다. 램덤함수를 새로고침할때마다 새로운 수를 추출하기위해서는 Randomize 를 선언 후 사용한다.
- 사용예 ) 1~6 사이의 정수를 난수 발생하려먼
Randomize ' 랜덤함수 전에 선언한다.
Int ( Rnd() * 6 + 1)
* 범위 내에서 난수 발행 공식 : a = Int((큰수 - 작은수 + 1) * Rnd + 작은수 )
Fix, Int, Cint 함수 비교
Int 함수와 Fix 함수는 양수에서는 차이가 없지만 음수일경우 Int는 작은수에 가까운 정수를 반환하고 Fix는 큰수에 가까운 정수를 반환한다. Cint는 반올림하여 정수로 반환한다.
값 |
Fix |
Int |
Cint |
3.6 |
3 |
3 |
4 |
3.2 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
-3.6 |
-3 |
-4 |
-4 |
-3.2 |
-3 |
-4 |
-3 |
기타 함수
Format 함수
함수 |
내용 |
예제 |
formatnumber |
소숫점이하자리수 지정, 0표시여부, 음수괄호사용여부, 3자리마다 콤마여부 |
formatnumber(0.1234, 3,0,0,0) => 0.123 |
formatcurrency |
화폐형으로 |
formatcurrency(12345) => \12,345 |
formatpercent |
백분율 |
formatpercent(0.7256) => 72.56% |
formatdatetime |
날짜와 시간의 다양한 표현 형식 |
formatdatetime(0) => 01-01-14 오후 10:37:32 |
- formatnumber (수치, 소숫점 이하자리수, 0표시여부, 음수괄호사용여부, 3자리마다 콤마 여부)
0표시, 음수괄호사용, 콤마사용 여부값은 논리값으로 true( -1) , false( 0) 값을 사용.
통화형으로 변환
ex) 사용예
<%
su1 = 1234567
su2 = .12345
su3 = -1234.567
response.write formatnumber(su2, 2, 0, 0, 0) & "<br>"
response.write formatnumber(su2, 2 , -1, 0, 0) & "<br>"
response.write formatnumber(su3, 2, 0, -1, 0) & "<br>"
response.write formatnumber(su1, 0, 0, 0, -1) & "<br>"
response.write formatcurrency(su1) & "<br>"
%>
-
FormatPercent (수치, 소숫점 이하자리수, 0표시여부, 음수괄호사용여부, 3자리마다 콤마 여부)
뒤에 % 문자가 붙는 백분율(100이 곱해짐)로 서식화된 식을 반환한다.
FormatPercent의 구성요소는 FormatNumber와 동일하다.
ex) 사용예
<%
Response.Write FormatPercent ( 0.7235) & "<BR>"
Response.Write FormatPercent ( 0.7235,1) & "<BR>"
Response.Write FormatPercent ( -0.7235, 1 , 0, -1) & "<BR>"
%>
- formatdatetime (날짜, format type)
다양한 날짜와 시간의 포맷형식
[ 포맷 형식 ]
종류 |
값 |
내용 |
vbGeneralDate |
0 |
컴퓨터의 국가별 설정에서 일반 날짜 또는 시간 표시 |
vbLongDate |
1 |
컴퓨터의 국가별 설정에서 자세하게 날짜 표시 |
vbShortDate |
2 |
컴퓨터의 국가별 설정에서 간단하게 날짜 표시 |
vbLongTime |
3 |
컴퓨터의 국가별 설정에서 자세하게 시간 표시 |
vbShortTime |
4 |
컴퓨터의 국가별 설정에서 간단하게 시간 표시 |
ex) 사용예
<%
response.write formatdatetime(now,vbgeneraldate ) & "<br>"
response.write formatdatetime(now, 1) & "<br>"
response.write formatdatetime(now, vblongtime) & "<br>"
%>
배열 관련
함수 |
내용 |
예제 |
LBound |
(배열명, 차원) 배열의 첨자 하한값 구하기 1차원은 LBound(배열명), 2차원은 LBound(배열명, 차원) |
Dim myarr ( 5 ) a= LBound(myarr) => 0 Dim myarr ( 5, 7 ) a= LBound(myarr, 2) => 0 |
UBound |
(배열명, 차원) 배열의 첨자의 상한값 구하기 1차원은 UBound(배열명), 2차원은 UBound(배열명, 차원) |
Dim myarr ( 5 ) a= UBound(myarr) => 5 Dim myarr ( 5, 7 ) a= UBound(myarr, 1) => 5 a= UBound(myarr, 2) => 7 |
Dim a(5)
a(1) = 1 : a(2) = 2 : a(3) = 3 : a(4) = 4 : a(5) = 5
for i =1 to Ubound(a)
response.write a(i)
next
데이타 타입 판별
함수 |
내용 |
예제 |
IsNull |
(변수 or 수식) 널(Null) 여부 |
isNull ( a ) => false |
IsNumeric |
(변수 or 수식) 숫자 형식 여부. |
isNumeric(5) => true |
Isobject |
객체 형식 여부. |
|
IsDate |
날짜 형식 여부. |
isDate(#2001-1-10#) => true |
IsArray |
배열 형식 여부. |
Dim b(5) isArray(b) => true |
IsEmpty |
초기화 여부 |
isempty(a) |