check( left(mc,2) like '[A-Z][A-Z]')

解决方案 »

  1.   

    IF OBJECT_ID('TB')IS NOT NULL DROP TABLE TB
    GO
    CREATE TABLE TB(TEST VARCHAR(10) CHECK ((ASCII(LEFT(TEST,1))BETWEEN 65 AND 90)AND 
    ASCII(SUBSTRING(TEST,2,1))BETWEEN 65 AND 90 ))
    INSERT TB SELECT 'AB'
    INSERT TB SELECT 'Ab'
    /*(1 行受影响)
    消息 547,级别 16,状态 0,第 4 行
    INSERT 语句与 CHECK 约束"CK__TB__TEST__39788055"冲突。该冲突发生于数据库"db_test",表"dbo.TB", column 'TEST'。
    语句已终止。
    */
      

  2.   

    ALTER TABLE emp
        ADD CONSTRAINT CHK_1 CHECK(LEN(empname)=8 
                   AND LEFT(empname COLLATE CHINESE_PRC_CS_AS_KS_WS,2)=UPPER(LEFT(empname COLLATE CHINESE_PRC_CS_AS_KS_WS,2)))
    GO
      

  3.   

    楼上的CHINESE_PRC_CS_AS_KS_WS这个是什么意思啊,不能执行啊求测试通过的sql
      

  4.   

    -- Test Data: ta
    IF OBJECT_ID('ta') IS NOT NULL 
        DROP TABLE ta
    Go
    CREATE TABLE ta(ID INT,总量 INT,mc varchar(8) check( left(mc,2) like '[A-Z][A-Z]'))
    GoGO--Startinsert into ta select 1,1,'ASasdfaf'SELECT 

    FROM
    TA
      

  5.   

    --石头啊,这个不行啊
    --Start
    insert into ta select 1,1,'asasdfaf'
    SELECT 
        * 
    FROM
        TA
    /*ID          总量          mc
    ----------- ----------- --------
    1           1           asasdfaf(1 行受影响)
    */
      

  6.   

    IF OBJECT_ID('TB')IS NOT NULL DROP TABLE TB
    GO
    CREATE TABLE TB(TEST VARCHAR(10) CHECK ((ASCII(LEFT(TEST,1))BETWEEN 65 AND 90)AND 
    ASCII(SUBSTRING(TEST,2,1))BETWEEN 65 AND 90 ))
    --INSERT TB SELECT 'AB'
    INSERT TB SELECT 'Ab'select * from tbdrop table tb你试下