SQL స్ట్రింగ్లు మరియు తేదీలు తారుమారు చేయడానికి అంతర్నిర్మిత ఫంక్షన్లను అందిస్తుంది — ఫార్మాటింగ్, భాగాలను సంగ్రహించడం, తేడాలను లెక్కించడం. ఇవి డేటా పరివర్తన మరియు తేదీ-ఆధారిత ప్రశ్నలకు అవసరమైనవి, అయితే ఖచ్చితమైన పేర్లు డేటాబేస్ డయలెక్ట్ను బట్టి మారుతుంది.
సాధారణ స్ట్రింగ్ ఫంక్షన్లు
SELECT
UPPER(name), LOWER(name), -- case conversion
LENGTH(name), -- string length
CONCAT(first_name, ' ', last_name), -- join strings (or || in some DBs)
SUBSTRING(name, 1, 3), -- extract a substring
TRIM(name), -- remove surrounding whitespace
REPLACE(phone, '-', ''), -- replace text
LEFT(name, 3), RIGHT(name, 3), -- leftmost/rightmost chars
POSITION('@' IN email) -- find a substring's position
FROM users;
స్ట్రింగ్ ఫంక్షన్లు వచనాన్ని రూపాంతరం చేస్తాయి మరియు సంగ్రహిస్తాయి — అవుట్పుట్ ఫార్మాటింగ్, డేటా శుభ్రపరచడం మరియు గణించిన విలువలను నిర్మించడానికి ఉపయోగకరమైనవి.
సాధారణ తేదీ/సమయ ఫంక్షన్లు
SELECT
NOW(), CURRENT_DATE, CURRENT_TIMESTAMP, -- current date/time
EXTRACT(YEAR FROM created_at), -- get a part (YEAR, MONTH, DAY, HOUR...)
DATE_TRUNC('month', created_at), -- truncate to a unit (Postgres)
created_at + INTERVAL '7 days', -- date arithmetic (add time)
AGE(NOW(), birth_date), -- difference between dates (Postgres)
TO_CHAR(created_at, 'YYYY-MM-DD') -- format a date as text (Postgres)
FROM events;
తేదీ ఫంక్షన్లు ప్రస్తుత సమయాన్ని పొందుతాయి, భాగాలను సంగ్రహిస్తాయి (సంవత్సరం, నెల), అంకగణితం చేస్తాయి (విరామాలను జోడించు/తీసివేయు), తేడాలను లెక్కిస్తాయి మరియు తేదీలను ఫార్మాట్ చేస్తాయి — సమయ-ఆధారిత ప్రశ్నలు మరియు నివేదనకు అవసరమైనవి.
సాధారణ నమూना: సమయ వ్యవధి ద్వారా సమూహీకరణ
-- count events per month (a frequent reporting need)
SELECT
DATE_TRUNC('month', created_at) AS month,
COUNT(*) AS event_count
FROM events
GROUP BY DATE_TRUNC('month', created_at)
ORDER BY month;
సంగ్రహించిన/కుదించిన తేదీ భాగం (నెల, రోజు, సంవత్సరం) ద్వారా సమూహీకరించడం చాలా సాధారణ నివేదన నమూనా.
డయలెక్ట్ తేడాలు (ఒక ముఖ్యమైన హెచ్చరిక)
⚠️ Function names/syntax VARY significantly by database:
String concat: CONCAT() vs || vs +
Date functions: DATE_TRUNC/EXTRACT (Postgres) vs DATE_FORMAT (MySQL) vs DATEPART (SQL Server)
→ Check YOUR database's documentation; the concepts transfer, the exact syntax differs.
ఇది ఎందుకు ముఖ్యమైనది
స్ట్రింగ్ మరియు తేదీ ఫంక్షన్లు అవసరమైన, ఆచరణాత్మకంగా అవసరమైన SQL సরిქాలు — వచనం మరియు తేదీలతో పని చేయడం వాస్తవ ప్రశ్నలలో నిరంతర అవసరం (అవుట్పుట్ ఫార్మాటింగ్, డేటా శుభ్రపరచడం, సమయ-ఆధారిత ఫిల్టరింగ్ మరియు నివేదన), కాబట్టి వాటిని అర్థం చేసుకోవడం విలువైన రోజువారీ జ్ఞానం. స్ట్రింగ్ ఫంక్షన్లు (కేస్ కన్వర్షన్, కాంకటెనేషన్, సబ్స్ట్రింగ్, మార్పిడి, ట్రిమ్) వచన రూపాంతరం మరియు శుభ్రపరచడం నిర్వహిస్తాయి, ఇవి ఫార్మాటింగ్ మరియు డేటా తారుమారు కోసం అనేక ప్రశ్నలలో కనిపిస్తాయి. తేదీ ఫంక్షన్లు ముఖ్యంగా ముఖ్యమైనవి ఎందుకంటే సమయ-ఆధారిత ప్రశ్నలు మరియు నివేదన సర్వవ్యాప్తమైనవి — ప్రస్తుత సమయం పొందడం, తేదీ భాగాలను సంగ్రహించడం (సంవత్సరం, నెల), తేదీ అంకగణితం (విరామాలను జోడించడం, తేడాలను లెక్కించడం) మరియు తేదీలను ఫార్మాట్ చేయడం తేదీ శ్రేణుల ద్వారా ఫిల్టర్ చేయడం, వయస్సు/వ్యవధిలను లెక్కించడం మరియు ముఖ్యంగా సమయ వ్యవధి ద్వారా సమూహీకరణ (నెల/రోజుకు గణనలు — చాలా సాధారణ నివేదన నమూనా) కోసం అవసరమైనవి.
ఈ ఫంక్షన్లను అర్థం చేసుకోవడం నిజమైన అనువర్తనాలు నిరంతరం అవసరమైన వచన మరియు తేదీ తారుమారుని నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది.
ఒక ముఖ్యమైన ఆచరణాత్మక హెచ్చరిక ఏమిటంటే ఫంక్షన్ పేర్లు మరియు సింటాక్స్ డేటాబేస్ డయలెక్ట్ల్లో గణనీయంగా భిన్నంగా ఉంటాయి (స్ట్రింగ్ కాంకటెనేషన్ మరియు తేదీ ఫంక్షన్లు PostgreSQL, MySQL, SQL Server మధ్య గుర్ వంటగా భిన్నంగా ఉంటాయి) — కాబట్టి భావనలను (ఇవి బదిలీ చేయబడతాయి) అర్థం చేసుకోవడం, మీ నిర్దిష్ట డేటాబేస్ సింటాక్స్ తనిఖీ చేయడం ముఖ్యమైనది.
స్ట్రింగ్లు మరియు తేదీలను తారుమారు చేయడం ప్రశ్నలో, నివేదనలో మరియు డేటా ప్రాసెసింగ్లో తరచుగా అవసరమైనది, మరియు సమయ-ఆధారిత సమూహీకరణ/ఫిల్టరింగ్ విశ్లేషణకు కేంద్రంగా ఉంది, సాధారణ స్ట్రింగ్ మరియు తేదీ ఫంక్షన్లను అర్థం చేసుకోవడం — మరియు డయలెక్ట్ తేడాల గురించి తెలుసుకోవడం — ఉపయోగకరమైన, తరచుగా-ఉపయోగించిన SQL జ్ఞానం ఆచరణాత్మక డేటా పనికి అవసరమైనది.
