一、sql server如何判斷某個字段包含大寫字母
sql語句中預設是不區分大小寫的,所以語句:
sql**
select
*from recenginebizinfo
where recenginebizname
'和 sql**
select
*from recenginebizinfo
where recenginebizname
'查到的結果是一樣的。
如果查詢的時候需要區分大小寫,需要使用collate chinese_prc_cs_as_ws來進行查詢。
select
*from recenginebizinfo
where recenginebizname collate chinese_prc_cs_as_ws
'要檢視某個字段是否包含大寫字母 a 的指令碼為:
/要檢視某個字段是否包含 大寫字母 的指令碼為:
sql**
select
*from recenginebizinfo rebi
where rebi.recenginebizname collate chinese_prc_cs_as
like
'%[abcdefghijklmnopqrstuvwxyz]%
'要檢視某個字段是否包含 連續兩個大寫字母 的指令碼為:
sql**
select
*from recengineattributeinfo reai
where reai.zhiling collate chinese_prc_cs_as
like
'%[abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyz]%
'依次類推。
詳細出處參考:http:
/article
/32063.htm
二、sqlserver資料庫全形轉換成半形
create
function f_convert
(
@str
nvarchar(
max) ,
--要轉換的字串
@flag
bit--
轉換標誌,0轉換成半形,1轉換成全角
)returns
nvarchar(
4000)
asbegin
declare
@pat
nvarchar(
8) ,
@step
int ,
@iint ,
@spc
intif
@flag=0
select
@pat
= n '
%[!-~]%
' ,
@step=-
65248 ,
@str
=replace(
@str, n
'', n
'')
else
select
@pat
= n '
%[!-~]%
' ,
@step
=65248 ,
@str
=replace(
@str, n
'', n
'')
set@i
=patindex(
@pat collate latin1_general_bin,
@str)
while
@i>
0select
@str
=replace(
@str,
substring(
@str,
@i,
1),nchar(
unicode(
substring(
@str,
@i,
1))+@step)) ,
@i=patindex(
@pat collate latin1_general_bin,
@str)
return(
@str)
end--
呼叫。select id,dbo.f_convert(name,
1) as
'name
'from dbo.t_user
id name
2 李,四
3 王,五
4 趙六
5 qq
6 qq
SQL 總結的10個實用小技巧
這幾天在寫索引,想到一些有意思的tips,希望大家有收穫。一 一些常見的sql實踐 1 負向條件查詢不能使用索引 select from order where status 0 and stauts 1 not in not exists都不是好習慣 可以優化為in查詢 select from o...
Linux技巧小總結
處理特殊的檔名 假設linux系統中有乙個檔案名叫 aaa 如果我們想對它進行操作,例如現在要刪除它,如果我們按照一般的刪除方法在命令列中輸入rm aaa命令,介面將會提示我們是無效選項 invalid option 原來由於檔名的第乙個字元為 linux把檔名當作選項了,我們可以使用 符號來解決這...
Linux技巧小總結
linux技巧小總結 摘要 linux常用小技巧 2005 01 09 20 51 21 by lanf,出處 http tech.ccid pub article c302 a199589 p1.html mkswap swapfile 8192 sync swapon swapfile 巧妙使用...