sql點號
⑴ sql輸入點號變成修改後面的文字,怎麼辦
您是不小心開啟了改寫功能,可以按一下鍵盤上的insert鍵即可恢復正常。
很高興為您解答,滿意請採納。
⑵ sql資料庫語句中點號.怎麼轉義
轉義要看情況,如果是你的庫名、表明、欄位名含有關鍵字或是不符合命名標准
即含字母數字下劃線,都需要用[]括起來,以數字開頭的也要用[]括起來
ESCAPE是用來轉義欄位內容的,比如說你要查詢A欄位里有_的內容
通常寫法A like '%_%'由於_是通配符,這樣系統就混亂了
所以需要escape轉義 A like '%!_%' escape '!' 這樣就能將_視為一個普通字元了
⑶ SQL語句中如何去識別英文裡面的點號並取值
是什麼資料庫?如果是oracle資料庫的話有個函數可能會幫助到你,那個函數是instr(目標字元串,'.',開始查找位置,第幾次出現),這個函數的意思從最左邊往右邊找小數點的位置是第幾個字元,然後你再用字元截取函數substr()配合使用就可以了。給你舉個例子。假如有這個目標字元串:244.33.33.567,那麼用字元串select instr('244.33.33.567',1,1) from al;這個sql得出的結果是小數點在字元串244.33.33.567中第一次出現的位置,結果是4.這樣再用substr()配合使用就得到你想要的結果了。sql代碼是:
select substr('244.33.33.567',1,instr('244.33.33.567','.',1,1)-1) from al;
select substr('244.33.33.567',1,instr('244.33.33.567','.',1,2)-1) from al;
select substr('244.33.33.567',1,instr('244.33.33.567','.',1,3)-1) from al;
如果你是在oracle資料庫中用的話,可以執行上面三條代碼看效果是不是你想要的。如果在其他資料庫我就不知道適用不,因為我沒有其他資料庫的環境來試驗。希望可以幫到你。
⑷ access SQL語句 標點問題
句號(嚴格來說是點號)的前面是表名,後面是欄位名,逗號的前後或者都是欄位名, 或者都是表名。
⑸ 如何在sql語句中使用正則表達式
sqlserver中,主要有regexp_like,regexp_replace,regexp_substr,regexp_instr四個正則表達式函數。
1、regexp_like:
regexp_like(x,pattern[,match_option]),查看x是否與pattern相匹配,該函數還可以提供一個可選的參數match_option字元串說明默認的匹配選項。match_option的取值如下:
'c' 說明在進行匹配時區分大小寫(預設值);
'i' 說明在進行匹配時不區分大小寫;
'n' (.)點號能表示所有單個字元,包括換行(俺還不知道什麼地方有用到換行.只知道sql裡面可以用chr(10)表示換行、
'm' 字元串存在換行的時候當作多行處理.這樣$就可匹配每行的結尾.不然的話$只匹配字元串最後的位置、
示例:
select * from emp where regexp_like(ename,'^a[a-z]*n$');
可以查找ename中以a開頭以n結尾的行.例如ename為arwen或arwin或anden.但Arwen不能被匹配.因為默認是區分大小寫.如果是
select * from emp where regexp_like(ename,'^a[a-z]*n$','i')
則可以查找ename為Arwen的行記錄。
2、regexp_instr:
REGEXP_INSTR(x,pattern[,start[,occurrence[,return_option[, match_option]]]])用於在x中查找pattern。返回pattern在x中出現的位置。匹配位置從1開始。可以參考字元串函數 INSTR(),參數相關:
'start' 開始查找的位置;
'occurrence' 說明應該返回第幾次出現pattern的位置;
'return_option' 說明應該返回什麼整數。若該參數為0,則說明要返回的整數是x中的一個字元的位置;若該參數為非0的整數,則說明要返回的整數為x中出現在pattern之後 的字元的位置;
'match_option' 修改默認的匹配設置.與regexp_like裡面的相同.
示例:
DECLARE
V_RESULT INTEGER ;
BEGIN
SELECT REGEXP_INSTR('hello world','o',1,1,0) INTO V_RESULT
FROM DUAL;
DBMS_OUTPUT.PUT_LINE(V_RESULT);
END;
結果為5,即字母o第一個次出現的位置。
如果regexp_instr('hello world','o',1,1,n)其中n為除0之外的整數。比如1,3。則結果為6.表示第一次出現字母o的後面一個字元的位置。
如果regexp_instr('hello world','o',1,2,0)則結果為9.表示第二次出現字母o的位置.
3、regexp_replace:
REGEXP_REPLACE(x,pattern[,replace_string[,start[,occurrence[, match_option]]]])用於在x中查找pattern,並將其替換為replae_string。可以參考字元串函數 REPLACE(),參數同REGEXP_INSTR函數
示例:
DECLARE
V_RESULT varchar2(90);
BEGIN
SELECT REGEXP_REPLACE('hello world','o','x',1,1) INTO V_RESULT
FROM DUAL;
DBMS_OUTPUT.PUT_LINE(V_RESULT);
END;
結果為hellx world.
如果REGEXP_REPLACE('hello world','o','x'),則結果為hellx wxrld.
如果 REGEXP_REPLACE('hello world','o','x',1,2)則結果為hello wxrld.
4、regexp_substr:
REGEXP_SUBSTR(x,pattern[,start[,occurrence[, match_option]]])用於在x中查找pattern並返回。可以參考字元串函數 SUBSTR(),參數同REGEXP_INSTR函數.
例如:
DECLARE
V_RESULT VARCHAR2(255);
BEGIN
SELECT REGEXP_SUBSTR('hello world','l{2}') INTO V_RESULT
FROM DUAL;
DBMS_OUTPUT.PUT_LINE(V_RESULT);
END ;
結果為ll
查詢到匹配的字元串才返回匹配的字元.沒查到就返回空。
⑹ sql語句報錯: select a as p1.1 from table; 為什麼as 後氣的別名中不能含點號
別名加上[]
select a as [p1.1] from table
就可以了
⑺ sql 正則表達式匹配
當我們要進行一些簡單的糊塗查詢時用百分號(%),通配符(_)就可以了.其中%表達任意長度的字元串,_表示任意的某一個字元.
比如
select*fromempwhereenamelike's%'orenamelike's_';
但如果在一些復雜的查詢中關用這兩個符號sql語句就會非常復雜,而且也不一定能實現.從Oracle 10g開始引入了在其他程序語言中普通使用的正則表達式.
主要有regexp_like,regexp_replace,regexp_substr,regexp_instr四個正則表達式函數.
正則表達式中的元字元:
元字元 意思 例子
說明要匹配的字元是一個特殊字元、常量或者後者引用。(後引用重復上一次的匹配)
匹配換行符
\ 匹配
匹配(匹配 )
^ 匹配字元串的開頭位置 ^a匹配arwen.但不匹配barwen.
$ 匹配字元串的末尾位置 en$匹配arwen.但不匹配arwenb.
* 匹配前面的字元0次或多次 a*rwen可以匹配rwen或aaarwen.
+ 匹配前面的字元1次或多次 a+rwen可以匹配arwen或aarwen.但不能匹配rwen.
? 匹配前面的字元0次或1次 a?rwen可以匹配arwen或rwen.但不能匹配aarwen.
{n} 匹配前面的字元恰好是n次,其中n是整數 ar{2}wen可以匹配arrwen.但不能匹配arwen或arrrwen.
{n,m} 匹配前面的字元至少是n次,最多是m次.如果寫成{n,} 表示最少匹配n次.沒有上限.
ar{1,2}wen可以匹配arwen,arrwen.但不匹配awen或arrrwen.
. 點號,匹配除null,換行以外的任意單個字元 arw.n.可以匹配arwen,arwin.但不能匹配arween或arwn.
(pattern) 括弧中pattern是一個子正則表達式,匹配指定pattern模式的一個子表達式。 其實括弧就像一般語言表達式中的括弧.有時多加些括弧可增強可讀性.另外的用處見下面關於 的描述.
x|y 匹配「或」 x|y可以匹配x或者y
[abc] 可以匹配abc中的任何單個字元 hello[abc]可以匹配helloa,hellob,helloc
[a-z] 可以匹配指定范圍內的任何單個字元 hell[a-z]可以匹配hello或者hellz
[::] 指定一個字元類,可以匹配該類中的任何字元 [:alphanum:]可以匹配字元0-9、A-Z、a-z
[:alpha:]可以匹配字元A-Z、a-z
[:blank:]可以匹配空格或tab鍵
[:digit:]可以匹配數字0-9
[:graph:]可以匹配非空字元
[:lower:]可以匹配小寫字母a-z
[:print:]與[:graph:]類似,不同之處在於[:print:]包括空格字元
[:punct:]可以匹配標點符號.,""等等
[:space:]可以匹配所有的空字元
[:upper:]可以匹配大寫字母A-Z
[:xdigit:]可以匹配十六進制數字0-9、A-F、a-f
這是對前一次匹配命中的一個後引用,其中n是一個正整數 arw(en)1可以匹配arwenen.注意1前面必須是個加括弧的子表達式.
regexp_like:
regexp_like(x,pattern[,match_option]),查看x是否與pattern相匹配,該函數還可以提供一個可選的參數match_option字元串說明默認的匹配選項。match_option的取值如下:
『c』 說明在進行匹配時區分大小寫(預設值);
'i' 說明在進行匹配時不區分大小寫;
'n'(.)點號能表示所有單個字元,包括換行(俺還不知道什麼地方有用到換行.只知道sql裡面可以用chr(10)表示換行.
'm' 字元串存在換行的時候當作多行處理.這樣$就可匹配每行的結尾.不然的話$只匹配字元串最後的位置.
示例:select * from emp where regexp_like(ename,'^a[a-z]*n$');可以查找ename中以a開頭以n結尾的行.例如ename為arwen或arwin或anden.但Arwen不能被匹配.因為默認是區分大小寫.如果是select * from emp where regexp_like(ename,'^a[a-z]*n$','i')則可以查找ename為Arwen的行記錄.
2. regexp_instr:
REGEXP_INSTR(x,pattern[,start[,occurrence[,return_option[, match_option]]]])用於在x中查找pattern。返回pattern在x中出現的位置。匹配位置從1開始。可以參考字元串函數 INSTR(),參數相關:
'start' 開始查找的位置;
'occurrence' 說明應該返回第幾次出現pattern的位置;
'return_option' 說明應該返回什麼整數。若該參數為0,則說明要返回的整數是x中的一個字元的位置;若該參數為非0的整數,則說明要返回的整數為x中出現在pattern之後 的字元的位置;
'match_option' 修改默認的匹配設置.與regexp_like裡面的相同.
示例:
DECLARE
V_RESULTINTEGER;
BEGIN
SELECT REGEXP_INSTR('hello world','o',1,1,0)INTO V_RESULT
FROM DUAL;
DBMS_OUTPUT.PUT_LINE(V_RESULT);
END;
結果為5.即字母o第一個次出現的位置
如果regexp_instr('hello world','o',1,1,n)其中n為除0之外的整數.比如1,3.則結果為6.表示第一次出現字母o的後面一個字元的位置.
如果regexp_instr('hello world','o',1,2,0)則結果為9.表示第二次出現字母o的位置.
3. regexp_replace:
REGEXP_REPLACE(x,pattern[,replace_string[,start[,occurrence[, match_option]]]])用於在x中查找pattern,並將其替換為replae_string。可以參考字元串函數 REPLACE(),參數同REGEXP_INSTR函數
示例:
DECLARE
V_RESULT varchar2(90);
BEGIN
SELECT REGEXP_REPLACE('hello world','o','x',1,1)INTO V_RESULT
FROM DUAL;
DBMS_OUTPUT.PUT_LINE(V_RESULT);
END;
結果為hellx world.
如果REGEXP_REPLACE('hello world','o','x'),則結果為hellx wxrld.
如果 REGEXP_REPLACE('hello w
orld','o','x',1,2)則結果為hello wxrld.
4.regexp_substr:
REGEXP_SUBSTR(x,pattern[,start[,occurrence[, match_option]]])用於在x中查找pattern並返回。可以參考字元串函數 SUBSTR(),參數同REGEXP_INSTR函數.
例如:
DECLARE
V_RESULT VARCHAR2(255);
BEGIN
SELECTREGEXP_SUBSTR('hello world','l{2}')INTO V_RESULT
FROM DUAL;
DBMS_OUTPUT.PUT_LINE(V_RESULT);
END;
結果為ll
查詢到匹配的字元串才返回匹配的字元.沒查到就返回空.
⑻ SQL對應檢查這個要怎麼寫
select 欄位
from 表名
欄位: 你要查的那個值在資料庫對面對應的欄位
表名: 這個欄位所在表的名字
⑼ SQl查詢語句問題
select max(case when a.點號='28-1' then a.水面高度 end)as 28-1,
max(case when a.點號='38-1' then a.水面高度 end)as 38-1,
max(case when a.點號='29-1' then a.水面高度 end)as 29-1
from result_Auto_HXYY a
group by a.日期
大體上是這個樣子,我加max的原因是我不能測試,但是不影響你的結果
如果想排序還可以在最後加上order by語句