SELECT * FROM users WHERE --UPPER(location) LIKE '%C...

0

Please login or register to vote for this query.

(click on this box to dismiss)

Skeptics

Q&A for scientific skepticism

--Zůstaňme ještě u uživatelů.
--V dalším SQL vypište přibližný počet uživatelů, 
--jež v poli Location uvádějí Česko, tj. zmíněné pole obsahuje řetězce:
--Czech
--Česk
--Nezapomeňte vzít v úvahu, že pole Location je case-sensitive, 
--je tedy třeba rozlišovat malá a velká písmena.

--Data Explorer na stránce stackexchange.com neposkytuje přímý přístup k příkazům convert nebo cast pro změnu kódování slouce, takže nemohu převést na UTF8
--v klasické databázi by ale měl dotaz brát pouze hodnoty s ČESK, jelikož je datový typ nvarchar, který umožňuje diakritiku


--SELECT * FROM users WHERE UPPER(location) LIKE '%ČESK%'
--bere i české budějovice, ale je to způsobeno diakritikou - špatné kódování
--SELECT * FROM users WHERE UPPER(location) LIKE '%CZECH%'

SELECT * FROM users 
WHERE --UPPER(location)  LIKE '%CESKA LIPA%' and 
UPPER(location) not like  '%CZECH%' 
--or 
--UPPER(location) NOT LIKE '%ČESK%'
--or
--UPPER(location) LIKE NOT '%ČESK%'
    
    --SELECT COUNT(*) FROM users WHERE UPPER(location) LIKE '%CZECH%'
    
    --6842, 6809
 /*   
    SELECT TOP 100 
    u.Location,
    CAST(u.Location AS NVARCHAR(MAX)) AS NVarCharLocation,
    u.*
FROM 
    users u
WHERE 

--u.location like '%Č%'
    REVERSE(UPPER(location)) LIKE REVERSE('ČESK%') AND CHARINDEX(',', REVERSE(location)) > 0
   -- and upper(Location) not like '%CESKE BUDEJOVICE%'
    ;*/

Enter Parameters

Options:
Switch to meta site
loading Hold tight while we fetch your results