AS關鍵字
1.as是別名關鍵字,換句話說就是重新給sql某個字段取個別名的關鍵字,但as本身並不改變sql的字段的名稱,只是在使用的時候有時為了臨時給某一字段重新命名而起的過渡作用,經常會用在多表某一字段名稱不相同的情況下使用,我們先舉個簡單例子,然后再時候深入說一些。
我先來顯示一下我表中所有的數據.
我來顯示一下我數據庫表中年齡大於20歲的,這條語句很簡單.
select * from student where stuage >20;
我們看到已經用select把自己想要的結果顯示出來了.

但是有個問題,如果我們是開發者,或許可以看懂.
如果是學生的家長,它不認識英文怎么辦呢?這個時候,我們就需要轉換成中文.
select
stuid as 編號,
stuname as 姓名,
stusex as 性別,
stuage as 年齡 ,
stuemail as 電子郵箱
from student where stuage >20;
當然,我們甚至可以把年齡是23歲設置顯示為大齡,否則為正常.
select
stuid as 編號,
stuname as 姓名,
stusex as 性別,
case when stuage>='23' then '大齡' else '正常' end as 年齡 ,
stuemail as 電子郵箱
from student;
select
stuid as '編號',
stuname as [姓名],
stusex as 性別,
case when stuage>='23' then '大齡' else '正常' end as "年齡",
stuemail as 電子郵箱
from student;
大家注意看這次的寫法,雖然我們顯示和上一個沒什么區別.
但是我們as后面別名的寫法有的加括號,單引號,雙引號,以及沒有引號.
它們之間有什么區別呢?
這可是數據庫的面試題.
2.在實際項目中,由於需要,我們先定義了一個sql可能用到的變量的類,分別定義為Id跟Name,然后通過構造函數我們可以看到,要從sql表中取Id跟Name字段的內容。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#region TTblRow 構造函數
/// <summary>
/// TTblRow 構造函數
/// </summary>
public
TTblRow()
{
this
.Id = -1;
this
.Name =
string
.Empty;
}
public
TTblRow(DataRow dataRow)
:
this
()
{
this
.Id = DataRowHelper.GetValue<
int
>(dataRow,
"Id"
);
this
.Name = DataRowHelper.GetValue(dataRow,
"Name"
);
}
#endregion
public
int
Id {
get
;
set
; }
public
string
Name {
get
;
set
; }
|
但是呢,由於表非常多,每張表Id字段的命名是相同,但是‘’Name‘’字段卻不相同了,而且是每張表都有自己的一個特殊的“”Name“”,那怎么辦,那接下來如何寫sql語句呢,就要用到我們的as關鍵字了
1
2
|
StringBuilder strSql =
new
StringBuilder();
strSql.Append(
"select Id, "
+ fldName +
" as Name from "
+ tblName);
|
通過as,將fldName(字段名)臨時重命名為Name,就可以對所有的表進行相應的數據操作了。