??xml version="1.0" encoding="utf-8" standalone="yes"?>视频在线91,h片在线观看视频免费免费,在线亚洲高清视频http://www.aygfsteel.com/sy1214520/archive/2010/04/14/318287.html虫旺福虫旺福Wed, 14 Apr 2010 09:55:00 GMThttp://www.aygfsteel.com/sy1214520/archive/2010/04/14/318287.htmlhttp://www.aygfsteel.com/sy1214520/comments/318287.htmlhttp://www.aygfsteel.com/sy1214520/archive/2010/04/14/318287.html#Feedback0http://www.aygfsteel.com/sy1214520/comments/commentRss/318287.htmlhttp://www.aygfsteel.com/sy1214520/services/trackbacks/318287.html阅读全文

虫旺福 2010-04-14 17:55 发表评论
]]>
oracle的正则表辑ּhttp://www.aygfsteel.com/sy1214520/archive/2010/01/07/308540.html虫旺福虫旺福Thu, 07 Jan 2010 05:42:00 GMThttp://www.aygfsteel.com/sy1214520/archive/2010/01/07/308540.htmlhttp://www.aygfsteel.com/sy1214520/comments/308540.htmlhttp://www.aygfsteel.com/sy1214520/archive/2010/01/07/308540.html#Feedback0http://www.aygfsteel.com/sy1214520/comments/commentRss/308540.htmlhttp://www.aygfsteel.com/sy1214520/services/trackbacks/308540.html阅读全文

虫旺福 2010-01-07 13:42 发表评论
]]>
据说是阿里巴巴公司DBAW试?转,鞭策一下自?http://www.aygfsteel.com/sy1214520/archive/2009/03/04/257858.html虫旺福虫旺福Wed, 04 Mar 2009 11:16:00 GMThttp://www.aygfsteel.com/sy1214520/archive/2009/03/04/257858.htmlhttp://www.aygfsteel.com/sy1214520/comments/257858.htmlhttp://www.aygfsteel.com/sy1214520/archive/2009/03/04/257858.html#Feedback0http://www.aygfsteel.com/sy1214520/comments/commentRss/257858.htmlhttp://www.aygfsteel.com/sy1214520/services/trackbacks/257858.html阅读全文

虫旺福 2009-03-04 19:16 发表评论
]]>
ORACLE 中查询表字段信息的方?/title><link>http://www.aygfsteel.com/sy1214520/archive/2009/02/20/255869.html</link><dc:creator>虫旺福</dc:creator><author>虫旺福</author><pubDate>Fri, 20 Feb 2009 09:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/sy1214520/archive/2009/02/20/255869.html</guid><wfw:comment>http://www.aygfsteel.com/sy1214520/comments/255869.html</wfw:comment><comments>http://www.aygfsteel.com/sy1214520/archive/2009/02/20/255869.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sy1214520/comments/commentRss/255869.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sy1214520/services/trackbacks/255869.html</trackback:ping><description><![CDATA[马上要做信息知识库了(jin)Q可能会(x)用到q个东东Q提交写好,到时候方便用(最q实在是太忙?-_- Q在ORACLE数据字典视图user_tab_columns 中提供了(jin)表的字段详细信息 <p>用如下语句即可得到基本的信息</p> <p>select column_id, column_name, data_type, data_length, data_precision, data_scale,nullable,data_default from user_tab_columns where table_name = 'Tablename' order by column_id</p> <br /> 另外可能有一个需求一直没有想到好的解x案,希望哪位高手能够提供Q?br /> 我们要根据传来的数据库连接的基本信息Q去q接到数据源Q然后根据表名,查询出来q张表的l构Q上面已l做?jin),不难Q,然后在我们的信息库中Ҏ(gu)该表l构创徏表。ƈ复制数据。到q位|,都没有什么难的,只是方便大家理解?br /> 后面的事情是q样Q在查询出来的数据库信息中,需要显C成一个列表,但是其中有部分不是业务信息,而是另一张表的外键,q个时侯Q我们要再根据这个外键来查询出来相对应的表的信息。有点像报表?br /> 疑惑的地方在于如果是一对一的,很简单,把这个字D信息做成一个urlQ先不考虑性能问题Q方案是可行的。但是如果是一对多的时候,׃(x)比较ȝ(ch)? <img src ="http://www.aygfsteel.com/sy1214520/aggbug/255869.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sy1214520/" target="_blank">虫旺福</a> 2009-02-20 17:28 <a href="http://www.aygfsteel.com/sy1214520/archive/2009/02/20/255869.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle常用命o(h)Q备忘)(j)http://www.aygfsteel.com/sy1214520/archive/2008/12/22/247729.html虫旺福虫旺福Mon, 22 Dec 2008 03:56:00 GMThttp://www.aygfsteel.com/sy1214520/archive/2008/12/22/247729.htmlhttp://www.aygfsteel.com/sy1214520/comments/247729.htmlhttp://www.aygfsteel.com/sy1214520/archive/2008/12/22/247729.html#Feedback0http://www.aygfsteel.com/sy1214520/comments/commentRss/247729.htmlhttp://www.aygfsteel.com/sy1214520/services/trackbacks/247729.html阅读全文

虫旺福 2008-12-22 11:56 发表评论
]]>
Oracle数据库的常用函数列表快速查收藏http://www.aygfsteel.com/sy1214520/archive/2008/11/10/239763.html虫旺福虫旺福Mon, 10 Nov 2008 15:42:00 GMThttp://www.aygfsteel.com/sy1214520/archive/2008/11/10/239763.htmlhttp://www.aygfsteel.com/sy1214520/comments/239763.htmlhttp://www.aygfsteel.com/sy1214520/archive/2008/11/10/239763.html#Feedback0http://www.aygfsteel.com/sy1214520/comments/commentRss/239763.htmlhttp://www.aygfsteel.com/sy1214520/services/trackbacks/239763.html 

函数是一U有零个或多个参数ƈ且有一个返回值的E序。在SQL中Oracle内徏?jin)一pd函数Q这些函数都可被UCؓ(f)SQL或PL/SQL语句Q函C要分Z大类Q?

单行函数、组函数

本文讨论如何利用单行函C?qing)用规则?

SQL中的单行函数

SQL和PL/SQL中自带很多类型的函数Q有字符、数字、日期、{换、和混合型等多种函数用于处理单行数据Q因此这些都可被l称为单行函数。这些函数均可用于SELECT,WHERE、ORDER BY{子句中Q例如下面的例子中就包含?jin)TO_CHAR,UPPER,SOUNDEX{单行函数?

 

SELECT ename,TO_CHAR(hiredate,'day,DD-Mon-YYYY')FROM empWhere
                        UPPER(ename) Like 'AL%'ORDER BY SOUNDEX(ename)

单行函数也可以在其他语句中用,如update的SET子句QINSERT的VALUES子句QDELET的WHERE子句,认证考试特别注意在SELECT语句中用这些函敎ͼ所以我们的注意力也集中在SELECT语句中?

NULL和单行函?/strong>

在如何理解NULL上开始是很困隄Q就是一个很有经验的Z然对此感到困惑。NULLDCZ个未知数据或者一个空|术操作W的M一个操作数为NULL|l果均ؓ(f)提个NULL?q个规则也适合很多函数Q只有CONCAT,DECODE,DUMP,NVL,REPLACE在调用了(jin)NULL参数时能够返回非NULL倹{在q些中NVL函数时最重要的,因ؓ(f)他能直接处理NULL|NVL有两个参敎ͼ(x)NVL(x1,x2),x1和x2都式表达式,当x1为null时返回X2,否则q回x1?

下面我们看看emp数据表它包含?jin)薪水、奖金两,需要计ȝ补偿

 

column name emp_id salary bonuskey type pk nulls/unique nn,
                        u nnfk table datatype number number numberlength 11.2 11.2

不是单的薪水和奖金加v来就可以?jin),如果某一行是null值那么结果就是nullQ比如下面的例子Q?

 

update empset salary=(salary+bonus)*1.1

q个语句中,雇员的工资和奖金都将更新Z个新的|但是如果没有奖金Q即 salary + null,那么׃(x)得出错误的结论,q个时候就要用nvl函数来排除null值的影响?

所以正的语句是:(x)

 

update empset salary=(salary+nvl(bonus,0)*1.1

单行字符串函?/strong>

单行字符串函数用于操作字W串数据Q他们大多数有一个或多个参数Q其中绝大多数返回字W串

ASCII()

c1是一字符Ԍq回c1W一个字母的ASCII码,他的逆函数是CHR()

 

SELECT ASCII('A') BIG_A,ASCII('z') BIG_z FROM empBIG_A BIG_z65 122

CHR(QiQ?[NCHAR_CS]

i是一个数字,函数q回十进制表C的字符

 

select CHR(65),CHR(122),CHR(223) FROM empCHR65 CHR122 CHR223A z B

CONCAT(,)

c1,c2均ؓ(f)字符Ԍ函数c2q接到c1的后面,如果c1为null,返回c2.如果c2为null,则返回c1Q如果c1、c2都ؓ(f)nullQ则q回null。他和操作符||q回的结果相?

 

select concat('slobo ','Svoboda') username from dualusernameslobo Syoboda

INITCAP()

c1Z字符丌Ӏ函数将每个单词的第一个字母大写其它字母小写返回。单词由I格Q控制字W,标点W号限制?

 

select INITCAP('veni,vedi,vici') Ceasar from dualCeasarVeni,Vedi,Vici

INSTR(,[,QiQ[,]])

c1,c2均ؓ(f)字符Ԍi,j为整数。函数返回c2在c1中第jơ出现的位置Q搜索从c1的第i个字W开始。当没有发现需要的字符时返?,如果i敎ͼ那么搜烦(ch)从叛_左进行,但是位置的计还是从左到叻Ii和j的缺省gؓ(f)1.

 

select INSTR('Mississippi','i',3,3)
                        from dualINSTR('MISSISSIPPI','I',3,3)11
                        select INSTR('Mississippi','i',-2,3)
                        from dualINSTR('MISSISSIPPI','I',3,3)2

INSTRB(,[,i[,j])

与INSTRQ)(j)函数一P只是他返回的是字节,对于单字节INSTRB(){于INSTR()

LENGTH()

c1为字W串Q返回c1的长度,如果c1为nullQ那么将q回null倹{?

 

select LENGTH('Ipso Facto') ergo from dualergo10

LENGTHb()

与LENGTH()一Pq回字节?

lower()

q回c的小写字W,l常出现在where子串?

 

select LOWER(colorname) from itemdetail WHERE LOWER(colorname) LIKE '%white%'COLORNAMEWinterwhite

LPAD(,QiQ[,])

c1,c2均ؓ(f)字符Ԍi为整数。在c1的左侧用c2字符串补长度i,可多ơ重复,如果i于c1的长度,那么只返回i那么长的c1字符Q其他的被截去。c2的缺省gؓ(f)单空|参见RPAD?

 

select LPAD(answer,7,'') padded,answer unpadded from question;
                        PADDED UNPADDED Yes YesNO NOMaybe maybe

LTRIM(,)

把c1中最左边的字W去掉,使其W一个字W不在c2中,如果没有c2Q那么c1׃?x)改变?

 

select LTRIM('Mississippi','Mis') from dualLTRppi

RPAD(,QiQ[,])

在c1的右侧用c2字符串补长度i,可多ơ重复,如果i于c1的长度,那么只返回i那么长的c1字符Q其他的被截去。c2的缺省gؓ(f)单空?其他与LPAD怼

RTRIM(,)

把c1中最双的字W去掉,使其W后一个字W不在c2中,如果没有c2Q那么c1׃?x)改变?

REPLACE(,[,])

c1,c2,c3都是字符Ԍ函数用c3代替出现在c1中的c2后返回?

 

select REPLACE('uptown','up','down') from dualREPLACEdowntown

STBSTR(,QiQ[,])

c1Z字符Ԍi,j为整敎ͼ从c1的第i位开始返回长度ؓ(f)j的子字符Ԍ如果j为空Q则直到串的N?

 

select SUBSTR('Message',1,4) from dualSUBSMess

SUBSTRB(,QiQ[,])

与SUBSTR大致相同Q只是I,J是以字节计算?

SOUNDEX()

q回与c1发音怼的词

 

select SOUNDEX('dawes') Dawes SOUNDEX('daws') Daws,
                        SOUNDEX('dawson') from dualDawes Daws DawsonD200 D200 D250

TRANSLATE(,,)

c1中与c2相同的字W以c3代替

 

select TRANSLATE('fumble','uf','ar') test from dualTEXTramble

TRIM([[]] from c3)

c3串中的第一个,最后一个,或者都删除?

 

select TRIM(' space padded ') trim from dual TRIMspace padded

UPPER()

q回c1的大写,常出现where子串?

 

select name from dual where UPPER(name) LIKE 'KI%'NAMEKING

单行数字函数

单行数字函数操作数字数据Q执行数学和术q算。所有函数都有数字参数ƈq回数字倹{所有三角函数的操作数和值都是弧度而不是角度,oracle没有提供内徏的弧度和角度的{换函数?

 

ABS()

q回n的绝对?

ACOS()

反余玄函敎ͼq回-1?之间的数。n表示弧度

 

select ACOS(-1) pi,ACOS(1) ZERO FROM dualPI ZERO3.14159265 0

ASIN()

反正玄函敎ͼq回-1?Qn表示弧度

ATAN()

反正切函敎ͼq回n的反正切|n表示弧度?

CEIL()

q回大于或等于n的最整数?

COS()

q回n的余玄|n为弧?

COSH()

q回n的双曲余玄|n 为数字?

 

select COSH(<1.4>) FROM dualCOSH(1.4)2.15089847

EXP()

q回e的nơ幂Qe=2.71828183.

FLOOR()

q回于{于N的最大整数?

LN()

q回N的自然对敎ͼN必须大于0

LOG(,)

q回以n1为底n2的对?

MOD()

q回n1除以n2的余敎ͼ

POWER(,)

q回n1的n2ơ方

ROUND(,)

q回舍入数点右边n2位的n1的|n2的缺省gؓ(f)0Q这回将数Ҏ(gu)接近的整敎ͼ如果n2数就舍入到小数点左边相应的位上,n2必须是整数?

 

select ROUND(12345,-2),ROUND(12345.54321,2)
            FROM dualROUND(12345,-2) ROUND(12345.54321,2)12300 12345.54

SIGN()

如果n敎ͼq回-1,如果n为正敎ͼq回1Q如果n=0q回0.

SINQ?

q回n的正玄?n为弧度?

SINH()

q回n的双曲正玄?n为弧度?

SQRT()

q回n的^Ҏ(gu),n为弧?

TANQ?

q回n的正切?n为弧?

TANH()

q回n的双曲正切?n为弧?

TRUNC(,)

q回截尾到n2位小数的n1的|n2~省讄?Q当n2为缺省设|时?x)将n1截尾为整敎ͼ如果n2|截֜数点左边相应的位上?/p>

单行日期函数

单行日期函数操作DATA数据cdQ绝大多数都有DATA数据cd的参敎ͼl大多数q回的也是DATA数据cd的倹{?

ADD_MONTHS(,QiQ?

q回日期d加上i个月后的l果。i可以使Q意整数。如果i是一个小敎ͼ那么数据库将隐式的他转换成整敎ͼ会(x)截去数点后面的部分?

LAST_DAY()

函数q回包含日期d的月份的最后一?

MONTHS_BETWEEN(,)

q回d1和d2之间月的数目,如果d1和d2的日的日期都相同Q或者都使该月的最后一天,那么返回一个整敎ͼ否则?x)返回的l果包含一个分数?

NEW_TIME(,,)

d1是一个日期数据类型,当时区tz1中的日期和时间是dӞq回时区tz2中的日期和时间。tz1和tz2时字W串?

NEXT_DAY(,)

q回日期d后由dowl出的条件的W一天,dow使用当前?x)话中给出的语言指定?jin)一周中的某一天,q回的时间分量与d的时间分量相同?

select NEXT_DAY('01-Jan-2000'

 

,'Monday') "1st Monday",
            NEXT_DAY('01-Nov-2004','Tuesday')+7 "2nd Tuesday")
            from dual;1st Monday 2nd Tuesday03-Jan-2000 09-Nov-2004

ROUND([,])

日期d按照fmt指定的格式舍入,fmt为字W串?

SYADATE

函数没有参数Q返回当前日期和旉?

TRUNC([,])

q回由fmt指定的单位的日期d.

单行转换函数

单行转换函数用于操作多数据类型,在数据类型之间进行{换?

CHARTORWID()

c 使一个字W串Q函数将c转换为RWID数据cd?

 

SELECT test_id from test_case where rowid=CHARTORWID('AAAA0SAACAAAALiAAA')

CONVERT(,[,])

c֭W串Qdset、sset是两个字W集Q函数将字符串c由sset字符集{换ؓ(f)dset字符集,sset的缺省设|ؓ(f)数据库的字符集?

HEXTORAW()

x?6q制的字W串Q函数将16q制的x转换为RAW数据cd?

RAWTOHEX()

x是RAW数据cd字符Ԍ函数RAW数据c{换ؓ(f)16q制的数据类型?

ROWIDTOCHAR()

函数ROWID数据cd转换为CHAR数据cd?

TO_CHAR([[,)

x是一个data或number数据cdQ函数将x转换成fmt指定格式的char数据cdQ如果x为日期nlsparm=NLS_DATE_LANGUAGE 控制q回的月份和日䆾所使用的语a。如果x为数字nlsparm=NLS_NUMERIC_CHARACTERS 用来指定数位和千分位的分隔W,以及(qing)货币W号?

 

NLS_NUMERIC_CHARACTERS ="dg", NLS_CURRENCY="string"

TO_DATE([,[,Q?

c表示字符Ԍfmt表示一U特D格式的字符丌Ӏ返回按照fmt格式昄的c,nlsparm表示使用的语a。函数将字符串c转换成date数据cd?

TO_MULTI_BYTE()

c表示一个字W串Q函数将c的担子截字符转换成多字节字符?

TO_NUMBER([,[,)

c表示字符Ԍfmt表示一个特D格式的字符Ԍ函数q回值按照fmt指定的格式显C。nlsparm表示语言Q函数将q回c代表的数字?

TO_SINGLE_BYTE()

字W串c中得多字节字W{化成{h(hun)的单字节字符。该函数仅当数据库字W集同时包含单字节和多字节字W时才?/p>

其它单行函数

BFILENAME( ,)

dir是一个directorycd的对象,fileZ文g名。函数返回一个空的BFILE位置值指C符Q函数用于初始化BFILE变量或者是BFILE列?

DECODE(,,[,,,[])

x是一个表辑ּQm1是一个匹配表辑ּQx与m1比较Q如果m1{于xQ那么返回r1,否则,x与m2比较Q依ơ类推m3,m4,m5....直到有返回结果?

DUMP(,[,[,[,]]])

x是一个表辑ּ或字W,fmt表示8q制?0q制?6q制、或则单字符。函数返回包含了(jin)有关x的内部表CZ息的VARCHAR2cd的倹{如果指定了(jin)n1,n2那么从n1开始的长度为n2的字节将被返回?

EMPTY_BLOB()

该函数没有参敎ͼ函数q回 一个空的BLOB位置指示W。函数用于初始化一个BLOB变量或BLOB列?

EMPTY_CLOB()

该函数没有参敎ͼ函数q回 一个空的CLOB位置指示W。函数用于初始化一个CLOB变量或CLOB列?

GREATEST()

exp_list是一列表辑ּQ返回其中最大的表达式,每个表达式都被隐含的转换W一个表辑ּ的数据类型,如果W一个表辑ּ是字W串数据cd中的M一个,那么q回的结果是varchar2数据cdQ同时用的比较是非填充I格cd的比较?

LEAST()

exp_list是一列表辑ּQ返回其中最的表达式,每个表达式都被隐含的转换W一个表辑ּ的数据类型,如果W一个表辑ּ是字W串数据cd中的M一个,返回的l果是varchar2数据cdQ同时用的比较是非填充I格cd的比较?

UID

该函数没有参敎ͼq回唯一标示当前数据库用L(fng)整数?

USER

q回当前用户的用户名

USERENV()

Zoptq回包含当前?x)话信息。opt的可选gؓ(f)Q?

ISDBA    ?x)话中SYSDBA脚色响应Q返回TRUE

SESSIONID  q回审计?x)话标示W?

ENTRYID   q回可用的审计项标示W?

INSTANCE  在会(x)话连接后Q返回实例标C符。该值只用于q行Parallel 服务器ƈ且有 多个实例的情况下使用?

LANGUAGE  q回语言、地域、数据库讄的字W集?

LANG    q回语言名称的ISO~写?

TERMINAL  为当前会(x)话用的l端或计机q回操作pȝ的标C符?

VSIZE()

x是一个表辑ּ。返回x内部表示的字节数?

SQL中的l函?/strong>

l函C叫集合函敎ͼq回Z多个行的单一l果Q行的准数量无法确定,除非查询被执行ƈ且所有的l果都被包含在内。与单行函数不同的是Q在解析时所有的行都是已知的。由于这U差别ɾl函C单行函数有在要求和行Z有微的差异.

l(多行Q函?/strong>

与单行函数相比,oracle提供?jin)丰富的Zl的Q多行的函数。这些函数可以在select或select的having子句中用,当用于select子串时常帔R和GROUP BY一起用?

AVG([{DISYINCT|ALL}])

q回数值的q_倹{缺省设|ؓ(f)ALL.

 

SELECT AVG(sal),AVG(ALL sal),AVG(DISTINCT sal)
            FROM scott.empAVG(SAL) AVG(ALL SAL) AVG(DISTINCT SAL)
            1877.94118 1877.94118 1916.071413

COUNT({*|DISTINCT|ALL} )

q回查询中行的数目,~省讄是ALL,*表示q回所有的行?

MAX([{DISTINCT|ALL}])

q回选择列表目的最大|如果x是字W串数据cdQ他q回一个VARCHAR2数据cdQ如果X是一个DATA数据cdQ返回一个日期,如果X是numeric数据cdQ返回一个数字。注意distinct和all不v作用Q应为最大gq两U设|是相同的?

MIN([{DISTINCT|ALL}])

q回选择列表目的最倹{?

STDDEV([{DISTINCT|ALL}])

q回选者的列表目的标准差Q所谓标准差是方差的qx栏V?

SUM([{DISTINCT|ALL}])

q回选择列表目的数值的d?

VARIANCE([{DISTINCT|ALL}])

q回选择列表目的统计方差?

用GROUP BYl数据分l?/strong>

正如题目暗示的那L(fng)函数是操作那些已经分好l的数据Q我们告诉数据库用GROUP BY怎样l数据分l或者分c,当我们在SELECT语句的SELECT子句中用组函数Ӟ我们必须把ؓ(f)分组或非常数列放|在GROUP BY子句中,如果没有用group byq行专门处理Q那么缺省的分类是将整个l果设ؓ(f)一cR?

 

select stat,counter(*) zip_count from zip_codes GROUP BY state;
            ST ZIP_COUNT-- ---------AK 360AL 1212AR 1309AZ 768CA 3982

在这个例子中Q我们用state字段分类Q如果我们要结果按照zip_codes排序,可以用ORDER BY语句QORDER BY子句可以使用列或l函数?

 

select stat,counter(*) zip_count from zip_codes GROUP
            BY state ORDER BY COUNT(*) DESC;ST COUNT(*)-- --------
            NY 4312PA 4297TX 4123CA 3982

用HAVING子句限制分组数据

现在你已l知道了(jin)在查询的SELECT语句和ORDER BY子句中用主函数Q组函数只能用于两个子串中,l函C能用于WHERE子串中,例如下面的查询是错误的:(x)

 

错误SELECT sales_clerk,SUN(sale_amount)
            FROM gross_sales WHERE sales_dept='OUTSIDE'
            AND SUM(sale_amount)>10000 GROUP BY sales_clerk

q个语句中数据库不知道SUM()是什么,当我们需要指C数据库对行分组Q然后限制分l后的行的输出时Q正的Ҏ(gu)是用HAVING语句Q?

 

SELECT sales_clerk,SUN(sale_amount)
            FROM gross_sales WHERE sales_dept='OUTSIDE'
            GROUP BY sales_clerkHAVING SUM(sale_amount)>10000;


虫旺福 2008-11-10 23:42 发表评论
]]>
վ֩ģ壺 | | ɽ| ޻| | | ͡| | | ľ| | | | | | | Դ| | ²| ɽ| | մ| | Ӫ| | ɽ| | | | | | ǫ| | | Ϲ| Ұ| | ˶| ũ| | |