SQL - String Functions: Name Desc Ription
SQL - String Functions: Name Desc Ription
http://www.tuto rialspo int.co m/sql/sql-string -functio ns.htm Co pyrig ht © tuto rials po int.co m
SQL string functions are used primarily for string manipulation. T he following table details the important string
functions:
EXPORT _SET () Returns a string such that for every bit set in the value bits, you g et an
on string and for every unset bit, you g et an off string
FIELD() Returns the index (position) of the first arg ument in the subsequent
arg uments
FIND_IN_SET () Returns the index position of the first arg ument within the second
arg ument
LPAD() Returns the string arg ument, left-padded with the specified string
QUOT E() Escapes the arg ument for use in an SQL statement
SUBST RING_INDEX() Returns a substring from a string before the specified number of
occurrences of the delimiter
ASCII(str)
Returns the numeric value of the leftmost character of the string str. Returns 0 if str is the empty string . Returns
NULL if str is NULL. ASCII() works for characters with numeric values from 0 to 255.
BIN(N)
Returns a string representation of the binary value of N, where N is a long long (BIGINT ) number. T his is
equivalent to CONV(N,10,2). Returns NULL if N is NULL.
BIT_LENGTH(str)
Returns the leng th of the string str in bits.
CHAR_LENGTH(str)
Returns the leng th of the string str measured in characters. A multi-byte character counts as a sing le character.
T his means that for a string containing five two-byte characters, LENGT H() returns 10, whereas
CHAR_LENGT H() returns 5.
CHARACTER_LENGTH(str)
CHARACT ER_LENGT H() is a synonym for CHAR_LENGT H().
CONCAT(str1,str2,...)
Returns the string that results from concatenating the arg uments. May have one or more arg uments. If all
arg uments are non-binary string s, the result is a non-binary string . If the arg uments include any binary string s,
the result is a binary string . A numeric arg ument is converted to its equivalent binary string form; if you want to
avoid that, you can use an explicit type cast, as in this example:
CONCAT_WS(separator,str1,str2,...)
CONCAT _WS() stands for Concatenate With Separator and is a special form of CONCAT (). T he first arg ument
is the separator for the rest of the arg uments. T he separator is added between the string s to be concatenated.
T he separator can be a string , as can the rest of the arg uments. If the separator is NULL, the result is NULL.
CONV(N,from_base,to_base)
Converts numbers between different number bases. Returns a string representation of the number N,
converted from base from_base to to_base. Returns NULL if any arg ument is NULL. T he arg ument N is
interpreted as an integ er, but may be specified as an integ er or a string . T he minimum base is 2 and the maximum
base is 36. If to_base is a neg ative number, N is reg arded as a sig ned number. Otherwise, N is treated as
unsig ned. CONV() works with 64-bit precision.
ELT(N,str1,str2,str3,...)
Returns str1 if N = 1, str2 if N = 2, and so on. Returns NULL if N is less than 1 or g reater than the number of
arg uments. ELT () is the complement of FIELD().
EXPORT_SET(bits,on,off[,separator[,number_of_bits]])
Returns a string such that for every bit set in the value bits, you g et an on string and for every bit not set in the
value, you g et an off string . Bits in bits are examined from rig ht to left (from low-order to hig h-order bits).
String s are added to the result from left to rig ht, separated by the separator string (the default being the comma
character .,.). T he number of bits examined is g iven by number_of_bits (defaults to 64).
FIELD(str,str1,str2,str3,...)
Returns the index (position starting with 1) of str in the str1, str2, str3, ... list. Returns 0 if str is not found.
FIND_IN_SET(str,strlist)
Returns a value in the rang e of 1 to N if the string str is in the string list strlist consisting of N substring s.
FORMAT(X,D)
Formats the number X to a format like '#,###,###.##', rounded to D decimal places, and returns the result as a
string . If D is 0, the result has no decimal point or fractional part.
HEX(N_or_S)
If N_or_S is a number, returns a string representation of the hexadecimal value of N, where N is a long long
(BIGINT ) number. T his is equivalent to CONV(N,10,16).
If N_or_S is a string , returns a hexadecimal string representation of N_or_S where each character in N_or_S is
converted to two hexadecimal dig its.
INSTR(str,substr)
Returns the position of the first occurrence of substring substr in string str. T his is the same as the two-arg ument
form of LOCAT E(), except that the order of the arg uments is reversed.
LCASE(str)
LCASE() is a synonym for LOWER().
LEFT(str,len)
Returns the leftmost len characters from the string str, or NULL if any arg ument is NULL.
LENGTH(str)
Returns the leng th of the string str, measured in bytes. A multi-byte character counts as multiple bytes. T his
means that for a string containing five two-byte characters, LENGT H() returns 10, whereas CHAR_LENGT H()
returns 5.
LOAD_FILE(file_name)
Reads the file and returns the file contents as a string . T o use this function, the file must be located on the server
host, you must specify the full pathname to the file, and you must have the FILE privileg e. T he file must be
readable by all and its size less than max_allowed_packet bytes.
If the file does not exist or cannot be read because one of the preceding conditions is not satisfied, the function
returns NULL.
As of SQL 5.0.19, the character_set_filesystem system variable controls interpretation of filenames that are
g iven as literal string s.
LOCATE(substr,str), LOCATE(substr,str,pos)
T he first syntax returns the position of the first occurrence of substring substr in string str. T he second syntax
returns the position of the first occurrence of substring substr in string str, starting at position pos. Returns 0 if
substr is not in str.
LOWER(str)
Returns the string str with all characters chang ed to lowercase according to the current character set mapping .
LPAD(str,len,padstr)
Returns the string str, left-padded with the string padstr to a leng th of len characters. If str is long er than len, the
return value is shortened to len characters.
LTRIM(str)
Returns the string str with leading space characters removed.
MAKE_SET(bits,str1,str2,...)
Returns a set value (a string containing substring s separated by .,. characters) consisting of the string s that have
the corresponding bit in bits set. str1 corresponds to bit 0, str2 to bit 1, and so on. NULL values in str1, str2, ...
are not appended to the result.
SQL> SELECT MAKE_SET(1,'a','b','c');
+---------------------------------------------------------+
| MAKE_SET(1,'a','b','c') |
+---------------------------------------------------------+
| a |
+---------------------------------------------------------+
1 row in set (0.00 sec)
MID(str,pos,len)
MID(str,pos,len) is a synonym for SUBST RING(str,pos,len).
OCT(N)
Returns a string representation of the octal value of N, where N is a long long (BIGINT ) number. T his is
equivalent to CONV(N,10,8). Returns NULL if N is NULL.
OCTET_LENGTH(str)
OCT ET _LENGT H() is a synonym for LENGT H().
ORD(str)
If the leftmost character of the string str is a multi-byte character, returns the code for that character, calculated
from the numeric values of its constituent bytes using this formula:
If the leftmost character is not a multi-byte character, ORD() returns the same value as the ASCII() function.
POSITION(substr IN str)
POSIT ION(substr IN str) is a synonym for LOCAT E(substr,str).
QUOTE(str)
Quotes a string to produce a result that can be used as a properly escaped data value in an SQL statement. T he
string is returned enclosed by sing le quotes and with each instance of sing le quote ('), backslash ('\'), ASCII
NUL, and Control-Z preceded by a backslash. If the arg ument is NULL, the return value is the word 'NULL'
without enclosing sing le quotes.
NO T E: Please check if your installation has any bug with this function then don't use this function.
REPEAT(str,count)
Returns a string consisting of the string str repeated count times. If count is less than 1, returns an empty string .
Returns NULL if str or count are NULL.
REPLACE(str,from_str,to_str)
Returns the string str with all occurrences of the string from_str replaced by the string to_str. REPLACE()
performs a case-sensitive match when searching for from_str.
REVERSE(str)
Returns the string str with the order of the characters reversed.
RIGHT(str,len)
Returns the rig htmost len characters from the string str, or NULL if any arg ument is NULL.
RPAD(str,len,padstr)
Returns the string str, rig ht-padded with the string padstr to a leng th of len characters. If str is long er than len,
the return value is shortened to len characters.
RTRIM(str)
Returns the string str with trailing space characters removed.
SOUNDEX(str)
Returns a soundex string from str. T wo string s that sound almost the same should have identical soundex
string s. A standard soundex string is four characters long , but the SOUNDEX() function returns an arbitrarily
long string . You can use SUBST RING() on the result to g et a standard soundex string . All non-alphabetic
characters in str are ig nored. All international alphabetic characters outside the A-Z rang e are treated as
vowels.
SPACE(N)
Returns a string consisting of N space characters.
STRCMP(str1, str2)
Compares two string s and returns 0 if both string s are equal, it returns -1 if the first arg ument is smaller than the
second according to the current sort order otherwise it returns 1.
SUBSTRING(str,pos)
SUBSTRING(str FROM pos)
SUBSTRING(str,pos,len)
SUBSTRING(str FROM pos FOR len)
T he forms without a len arg ument return a substring from string str starting at position pos. T he forms with a len
arg ument return a substring len characters long from string str, starting at position pos. T he forms that use
FROM are standard SQL syntax. It is also possible to use a neg ative value for pos. In this case, the beg inning of
the substring is pos characters from the end of the string , rather than the beg inning . A neg ative value may be
used for pos in any of the forms of this function.
SUBSTRING_INDEX(str,delim,count)
Returns the substring from string str before count occurrences of the delimiter delim. If count is positive,
everything to the left of the final delimiter (counting from the left) is returned. If count is neg ative, everything to
the rig ht of the final delimiter (counting from the rig ht) is returned. SUBST RING_INDEX() performs a case-
sensitive match when searching for delim.
UCASE(str)
UCASE() is a synonym for UPPER().
UNHEX(str)
Performs the inverse operation of HEX(str). T hat is, it interprets each pair of hexadecimal dig its in the arg ument
as a number and converts it to the character represented by the number. T he resulting characters are returned
as a binary string .
T he characters in the arg ument string must be leg al hexadecimal dig its: '0' .. '9', 'A' .. 'F', 'a' .. 'f'. If UNHEX()
encounters any non-hexadecimal dig its in the arg ument, it returns NULL.
UPPER(str)
Returns the string str with all characters chang ed to uppercase according to the current character set mapping .