Aracılığıyla paylaş


Dize İşlevleri

Aşağıdaki tabloda dize işleme işlevleri listelenmektedir. Bir uygulama, SQL_STRING_FUNCTIONS bilgi türüne sahip SQLGetInfo çağırarak sürücü tarafından desteklenen dize işlevlerini belirleyebilir.

Açıklamalar

string_exp olarak belirtilen bağımsız değişkenler bir sütunun adı, karakter dizesi-değişmez değeriveya temel alınan veri türünün SQL_CHAR, SQL_VARCHAR veya SQL_LONGVARCHAR olarak temsil edilebildiği başka bir skaler işlevin sonucu olabilir.

character_exp olarak belirtilen bağımsız değişkenler, değişken uzunlukta bir karakter dizesidir.

başlangıç, uzunlukveya sayım olarak belirtilen bağımsız değişkenler, sayısal sabit değer veya temel alınan veri türünün SQL_TINYINT, SQL_SMALLINT veya SQL_INTEGER olarak gösterilebildiği başka bir skaler işlevin sonucu olabilir.

Burada listelenen dize işlevleri 1 tabanlıdır; yani, dizedeki ilk karakter 1 karakteridir.

SQL-92 ile hizalamak için ODBC 3.0'da BIT_LENGTH, CHAR_LENGTH, CHARACTER_LENGTH, OCTET_LENGTH ve POSITION dizesi skaler işlevleri eklenmiştir.

Fonksiyon Açıklama
ASCII(string_exp) (ODBC 1.0) string_exp en soldaki karakterinin ASCII kod değerini tamsayı olarak döndürür.
BIT_LENGTH(string_exp) (ODBC 3.0) Dize ifadesinin bit cinsinden uzunluğunu döndürür.

Yalnızca dize veri türleri için çalışmaz, bu nedenle string_exp örtük olarak dizeye dönüştürmez, bunun yerine verilen veri türünün (iç) boyutunu döndürür.
CHAR(kod) (ODBC 1.0) kodtarafından belirtilen ASCII kod değerini içeren karakteri döndürür. kodun değeri 0 ile 255 arasında olmalıdır; aksi takdirde, dönüş değeri veri kaynağına bağımlıdır.
CHAR_LENGTH(string_exp) (ODBC 3.0) Dize ifadesi bir karakter veri türündeyse, dize ifadesinin karakter cinsinden uzunluğunu döndürür; aksi takdirde, dize ifadesinin bayt cinsinden uzunluğunu döndürür (8'e bölünen bit sayısından küçük olmayan en küçük tamsayı). (Bu işlev, CHARACTER_LENGTH işleviyle aynıdır.)
CHARACTER_LENGTH(string_exp) (ODBC 3.0) Dize ifadesi bir karakter veri türündeyse, dize ifadesinin karakter cinsinden uzunluğunu döndürür; aksi takdirde, dize ifadesinin bayt cinsinden uzunluğunu döndürür (8'e bölünen bit sayısından küçük olmayan en küçük tamsayı). (Bu işlev, CHAR_LENGTH işleviyle aynıdır.)
CONCAT(string_exp1,string_exp2) (ODBC 1.0) string_exp2string_exp1birleştirmenin sonucu olan bir karakter dizesi döndürür. Sonuçta elde edilen dize DBMS'ye bağımlıdır. Örneğin, string_exp1 tarafından temsil edilen sütun null değer içeriyorsa, DB2 NULL döndürse de SQL Server NULL olmayan dizeyi döndürür.
FARK(string_exp1,string_exp2) (ODBC 2.0) string_exp1 ve string_exp2için SOUNDEX işlevi tarafından döndürülen değerler arasındaki farkı gösteren bir tamsayı değeri döndürür.
INSERT(string_exp1, başlangıç, uzunluk, string_exp2) (ODBC 1.0) uzunluğu karakterlerin string_exp1'den silindiği, başlangıçbaşlayarak ve string_exp2string_exp eklendiğibaşlangıçbaşlayan bir karakter dizesi döndürür.
LCASE(string_exp) (ODBC 1.0) string_expiçinde buna eşit bir dize döndürür ve tüm büyük harfler küçük harfe dönüştürülür.
LEFT(string_exp, count) (ODBC 1.0) string_exp karakterlerinin en soldaki sayısını döndürür.
LENGTH(string_exp) (ODBC 1.0) string_exp karakter sayısını döndürür sondaki boşlukları hariç tutarak.

LENGTH yalnızca dizeleri kabul eder. Bu nedenle, string_exp örtük olarak bir dizeye dönüştürür ve bu dizenin uzunluğunu döndürür (veri türünün iç boyutunu döndürmez).
LOCATE(string_exp1, string_exp2[, start]) (ODBC 1.0) string_exp2içinde string_exp1 ilk oluşumunun başlangıç konumunu döndürür. string_exp1 ilk oluşumu için yapılan arama, isteğe bağlı bağımsız değişken başlatma belirtilmediği sürece string_exp2'deki ilk karakter konumuyla başlar. başlangıç belirtilirse, arama startdeğeriyle belirtilen karakter konumuyla başlar. string_exp2 içindeki ilk karakter konumu 1 değeriyle gösterilir. string_exp2içinde string_exp1 bulunmazsa, 0 değeri döndürülür.

Bir uygulama string_exp1, string_exp2ve bağımsız değişkenleriyle LOCATE skaler işlevini çağırabiliyorsa, SQLGetInfo SQL_STRING_FUNCTIONS Option ile çağrıldığında sürücü SQL_FN_STR_LOCATE döndürür. Uygulama, yalnızca string_exp1 ve string_exp2 bağımsız değişkenleriyle LOCATE skaler işlevini çağırabiliyorsa, SQL_STRING_FUNCTIONS SeçenekSQLGetInfo çağrıldığında sürücü SQL_FN_STR_LOCATE_2 döndürür. İKI veya üç bağımsız değişkenle LOCATE işlevini çağırmayı destekleyen sürücüler hem SQL_FN_STR_LOCATE hem de SQL_FN_STR_LOCATE_2 döndürür.
LTRIM(string_exp) (ODBC 1.0) baştaki boşluklar kaldırılmış string_expkarakterlerini döndürür.
OCTET_LENGTH(string_exp) (ODBC 3.0) Dize ifadesinin bayt cinsinden uzunluğunu döndürür. Sonuç, 8'e bölünen bit sayısından küçük olmayan en küçük tamsayıdır.

Yalnızca dize veri türleri için çalışmaz, bu nedenle string_exp örtük olarak dizeye dönüştürmez, bunun yerine verilen veri türünün (iç) boyutunu döndürür.
POSITION(character_expINcharacter_exp) (ODBC 3.0) İkinci karakter ifadesindeki ilk karakter ifadesinin konumunu döndürür. Sonuç, uygulama tanımlı duyarlık ve 0 ölçeğine sahip tam bir sayısal değerdir.
REPEAT(string_exp,count) (ODBC 1.0) kez yinelenen string_exp sayıdan oluşan bir karakter dizesi döndürür.
REPLACE(string_exp1, string_exp2, string_exp3) (ODBC 1.0) string_exp2oluşumları için string_exp1 arayın ve yerine string_exp3yazın.
RIGHT(string_exp, count) (ODBC 1.0) string_exp karakterlerinin en sağdaki sayısını döndürür.
RTRIM(string_exp) (ODBC 1.0) sonunda boşluklar kaldırılmış string_exp karakterlerini döndürür.
SOUNDEX(string_exp) (ODBC 2.0) string_expiçindeki sözcüklerin sesini temsil eden veri kaynağına bağımlı bir karakter dizesi döndürür. Örneğin, SQL Server 4 basamaklı bir SOUNDEX kodu döndürür; Oracle, her sözcüğün fonetik bir gösterimini döndürür.
ARA ÇUBUĞU(sayısı) (ODBC 2.0) boşluk sayıdan oluşan bir karakter dizesi döndürür.
SUBSTRING(string_exp, başlangıç, uzunluk**)** (ODBC 1.0) uzunluk karakterler için başlangıç tarafından belirtilen karakter konumundan başlayarak string_exptüretilmiş bir karakter dizesi döndürür.
UCASE(string_exp) (ODBC 1.0) string_expiçinde buna eşit bir dize döndürür ve tüm küçük harfler büyük harfe dönüştürülür.