sql驗證
⑴ sql 語句 驗證身份證號碼
幫你搜了一下,參考參考。
主要驗證SQL資料庫中已輸入的15位 及18位 身份證號碼的位數、出生年月日是否正確,
可以過濾出大部分的輸入錯誤。
or (len(身份證號)=18 and (Substring(身份證號,7,2)<'19' or Substring(身份證號,7,2)>'20'
or (Substring(身份證號,11,2)>12)
or (Substring(身份證號,11,2) in (01,03,05,07,08,10,12) and Substring(身份證號,13,2)>31)
or (Substring(身份證號,11,2) in (04,06,09,11) and Substring(身份證號,13,2)>30)
or (Substring(身份證號,11,2)=02 and Substring(身份證號,13,2)>29)))
---------------------- 下面是針對 15位 及18位 身份證號碼性別的驗證語句 ------------------
-- Access 不支持 Substring 查詢,可以替換為 mid 查詢。
select 序號,姓名,身份證號,性別
from 身份表
where (((len(身份證號)=15) and (Substring(身份證號,15,1) in (1,3,5,7,9)) and 性別<>'男')
or ((len(身份證號)=15) and (Substring(身份證號,15,1) in (2,4,6,8,0)) and 性別<>'女'))
or (((len(身份證號)=18) and (Substring(身份證號,17,1) in (1,3,5,7,9)) and 性別<>'男')
or ((len(身份證號)=18) and (Substring(身份證號,17,1) in (2,4,6,8,0)) and 性別<>'女'))
---------------------- 下面是針對 15位 及18位 身份證號碼位數與出生年月日的驗證 ------------------
-- Access 不支持 Substring 查詢,可以替換為 mid 查詢。
select 序號,姓名,身份證號,性別
from 身份表
where (len(身份證號)<>15 and len(身份證號)<>18)
or (len(身份證號)=15 and ((Substring(身份證號,9,2)>12)
or (Substring(身份證號,11,2) > 31)
or (Substring(身份證號,9,2) in (01,03,05,07,08,10,12) and Substring(身份證號,11,2)>31)
or (Substring(身份證號,9,2) in (04,06,09,11) and Substring(身份證號,11,2)>30)
or (Substring(身份證號,9,2)=02 and Substring(身份證號,11,2)>29)))
⑵ 如何驗證SQL語句的正確性
declare @testsql nvarchar(max),
@result int
改成:
declare @testsql nvarchar(max)
declare @result int
⑶ 如何驗證SQL語法是否正確
你可以先在DB自帶的"查詢分析器"中跑你的語句,把必要的表和數據准備好,如果這里調試成功,就可以說明你的寫法是對的了
⑷ SQL中的身份驗證模式有哪幾種
1.Windows 身份驗證模式
當用戶通過 Microsoft Windows 用戶帳戶進行連接時,SQL Server 使用 Windows 操作系統中的信息驗證帳戶名和密碼。這是默認的身份驗證模式,比混合模式更為安全。Windows 身份驗證使用 Kerberos 安全協議,根據強密碼的復雜性驗證提供密碼策略強制實施,提供帳戶鎖定支持,並支持密碼過期。
2.混合模式(Windows 身份驗證和 SQL Server 身份驗證)
允許用戶使用 Windows 身份驗證和 SQL Server 身份驗證進行連接。通過 Windows 用戶帳戶進行連接的用戶可以使用經過 Windows 驗證的受信任連接。
如果選擇混合模式身份驗證,則必須為所有 SQL Server 登錄名設置強密碼。這對於 sa 和作為 sysadmin 固定伺服器角色的登錄名尤為重要。
⑸ 如何驗證 SQL 語句的正確性
驗證sql語句的正確性:
-- 定義你想要檢驗的SQL語句
DECLARE @sql NVARCHAR(MAX)
--'正確的語句'
SET @sql = 'select * from Report_Test1'
--'錯誤的語句'
--SET @sql = 'select 1 from'
DECLARE @testsql NVARCHAR(MAX),
@result INT
SET @testsql = N'set parseonly on; ' + @sql
EXEC @result = sp_executesql @testsql
-- 如果SQL語句有誤,則@result不為0;
IF @result = 0
BEGIN
PRINT '正確的語法'
--開始執行正確的SQL語句
--exec sp_executesql @sql
END
ELSE
BEGIN
PRINT '錯誤的語法'
--不執行任何操作
END
⑹ windows身份驗證和sql身份驗證的區別
1、Windows身份驗證和SQL身份驗證都是資料庫身份驗證的一種,身份驗證是用以識別數據的操作者身份。不管使用哪種身份驗證,只要具有資料庫或表的相關許可權,那麼均可以對資料庫及表進行相關的許可權范圍之內的增刪查改的操作,所操作後的數據都是相互影響;
2、Windows身份驗證和SQL身份驗證的區別不是許可權,因為不管是Windows用戶(包括伺服器本地用戶及活動目錄用戶)還是SQL用戶,都需要在SQL管理器中進行授予許可權後,才能在許可權范圍之內操作。樓上所說的windows用戶登錄默認windows管理員為資料庫的管理員,這種說法是錯誤的,SQL2008在安裝時,會讓你添加至少一個SQL管理員,一般來說都會添加當前的Windows用戶為默認的資料庫管理員,當然也可以添加其它任何Windows用戶作為資料庫管理員(並不是Windows管理員就會是資料庫管理員),在此也可以決定是否啟用SQL身份驗證,如果啟用,那麼則需要為SQL用戶SA設置一個密碼。
那麼區別在於,一個使用SQL單獨用戶,一個使用Windows用戶,使用Windows用戶可以極大的方便管理員的管理,統一用戶身份驗證(一般使用活動目錄用戶,在實踐環境中,一般企業都會有自己的活動目錄,如果使用SQL用戶的話,管理員則需要記憶和維護兩套用戶名及密碼,在這種情況下就會使用Windows用戶,SQL可以直接調用Windows用戶並授予資料庫及表相關許可權。那麼在有許可權的情況下,管理員可以直接使用自己的域用戶來登陸連接SQL資料庫)
3、只要有相關的許可權,所登陸到的數據當然是一樣,前面已經說過,身份驗證是用以識別數據的操作者身份,那麼不管以何種身份登陸,只要具有相關許可權,那麼均可以對資料庫及表進行相關的許可權范圍之內的增刪查改的操作。
⑺ SQL資料庫 如何用SQL Server身份驗證 登陸
首先要先確定是否允許SQL Server驗證登錄(屬性-》完全性),然後添加一個用戶(也可以使用默認的sa用戶),最後確定選中的用戶是否允許登錄等等設置(在屬性中有相關的設置)
⑻ sql條件判斷查詢
假設2個表中都有欄位 月份 TheMonth 和數據 TheData ,
select sum(TheData) from
(select isnull(accvouch.TheData,(select Accsum.TheData from Accsum where 月份=1)) from Accvouch where 月份=1
union all
select Accvouch.TheData from Accvouch where 月份>1) as NewTable where 1=1
⑼ 如何驗證sql資料庫里存在一個數據
你查以前的登陸表看是否有記錄及行了
if exists(select 1 from table where username = 'admin')
print 'exists record'
else
print 'not exists record'
⑽ SQL中的判斷語句
select
(case
when
b=c
then
a
else
b
end)
from
A