您的位置:首页 > 数据库 > Oracle

Oracle查询某个字段的第一个字为汉字的查询方法

2008-09-01 17:13 429 查看
ASCII 字符表
ASCII码大致可以分作三部分組成。

第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符、归位字符)。



第二部分是由 20H 到 7FH 共 96 个,这 95 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。如下表:

ASCII 码字符 ASCII 码字符 ASCII 码字符 ASCII 码字符
十进位十六进位 十进位十六进位 十进位十六进位 十进位十六进位
032
20
056
38
8
080
50
P
104
68
h
033
21
!
057
39
9
081
51
Q
105
69
i
034
22
"
058
3A
:
082
52
R
106
6A
j
035
23
#
059
3B
;
083
53
S
107
6B
k
036
24
$
060
3C
<
084
54
T
108
6C
l
037
25
%
061
3D
=
085
55
U
109
6D
m
038
26
&
062
3E
>
086
56
V
110
6E
n
039
27
'
063
3F
?
087
57
W
111
6F
o
040
28
(
064
40
@
088
58
X
112
70
p
041
29
)
065
41
A
089
59
Y
113
71
q
042
2A
*
066
42
B
090
5A
Z
114
72
r
043
2B
+
067
43
C
091
5B
[
115
73
s
044
2C
,
068
44
D
092
5C
/
116
74
t
045
2D
-
069
45
E
093
5D
]
117
75
u
046
2E
.
070
46
F
094
5E
^
118
76
v
047
2F
/
071
47
G
095
5F
_
119
77
w
048
30
0
072
48
H
096
60
`
120
78
x
049
31
1
073
49
I
097
61
a
121
79
y
050
32
2
074
4A
J
098
62
b
122
7A
z
051
33
3
075
4B
K
099
63
c
123
7B
{
052
34
4
076
4C
L
100
64
d
124
7C
|
053
35
5
077
4D
M
101
65
e
125
7D
}
054
36
6
078
4E
N
102
66
f
126
7E
~
055
37
7
079
4F
O
103
67
g
127
7F

第三部分由 80H 到 0FFH 共 128 个字符,一般称为『扩充字符』,这 128 个扩充字符是由 IBM 制定的,并非标准的 ASCII 码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母。



 
 
[align=left]我们主要用到ASCII码的第二部分[/align]
例如:
从table1表中找出所有Jh是汉字起头的SQL语句<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

select  ascII(substrb(trim(字段名称),1,1)) from 表名 ascII(substrb(trim(字段名称),1,1))    

根据上述表中可以看出:

65 --97 是字符

30 - - 39 是数字
32 为空  就可以代表是汉字

查询语句的条件为 ascII(substrb(trim(字段名称),1,1))= =null
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle ibm c table 通讯 null