常用数据库函数对比
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 今天在处理postgreSQL数据库的函数的时候。遇到了一个问题我要在select语句中来判断某个字段的属性是否为空,或者是否为一个特定的值,我需要作判断,在oracle中我们会用nvl decode 等函数。同样 m
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入
今天在处理postgreSQL数据库的函数的时候。遇到了一个问题我要在select语句中来判断某个字段的属性是否为空,或者是否为一个特定的值,我需要作判断,在oracle中我们会用nvl decode 等函数。同样 mysql 中会有ifnull,if 函数。有时候会搞混,忘记了那个哪个数据库支持这个函数了。
于是就总结一下,不同数据库中的一些常用函数,这样方便以后使用。
一,日期操作1,操作当前日期和时间Microsoft SQL Server Select GETDATE()
GO MySQL 返回日期不包括时间Select CURDATE();MySQL 返回日期和时间Select NOW();oracle Select SYSDATE FROM dual;PostgreSQL Select CURRENT_DATE;Select NOW();返回日期时间还包括时区2,操作时间的获取子域Microsoft SQL Server Select DATEPART(dw, GETDATE())
GO MySQL Select DAYNAME(CURDATE());oracle Select TO_CHAR(SYSDATE,'Day')
FROM dual;PostgreSQL Select DATE_PART('dow',date 'now');//dow = day of week Select DATE_PART('hour', timestamp 'now')
Microsoft SQL 中调用函数DATEPART语法为: DATEPART(datetype, date_expression)。函数参数datetype 为month, day, week, day of week 等,而第二个参数为包含日期类型的字段或者一个真实的日期值,而mysql中的DAYNAME函数就是直接指定了当前日期为星期几,oracle中的TO_CHAR可以从日期中拿到所需要的子域,日期,小时,分钟等。
3,时间间隔,在一些应用中需要知道两个时间间隔多远Microsoft SQL Server Select DATEDIFF(dd, '1/1/01', GETDATE())
GO MySQL Select FROM_DAYS(TO_DAYS(CURDATE()) - TO_DAYS('2001-11-25'));oracle Select TO_DATE('25-Nov-2000','dd-mon-yyyy') - TO_DATE('25-Aug-1969','dd-mon-yyyy')
FROM dual;PostgreSQL Select AGE(CURRENT_DATE, '25-Aug-1969');测量不同时间的间隔,不同的数据库之间函数语法有很大的不同。
4,日期时间格式化Microsoft SQL Server Select CONVERT(VARCHAR(11), GETDATE(), 102)
GO MySQL Select DATE_FORMAT( \"2001-11-25\", \"%M %e, %Y\");oracle Select TO_CHAR(SYSDATE,'dd-Mon-yyyy hh:mi:ss PM')
FROM dual;PostgreSQL Select TO_CHAR (timestamp(CURRENT_DATE),'dd-Mon-yyyy hh:mi:ss PM');二,字符串操作1,字符串中包含字符Microsoft SQL Server Select CHARINDEX('eat', 'great')
GO MySQL Select POSITION('eat' IN 'great');oracle Select INSTR('Great','eat') FROM dual;PostgreSQL Select POSITION('eat' IN 'great');通过上面的这些函数可以确定字符串在另一个字符串中的位置(及另一个字符串包含这个字符串的位置)。
2,字符串去掉空格Microsoft SQL Server Select LTRIM(' sql_in_a_nutshell'),Select RTRIM('sql_in_a_nutshell '),Select LTRIM(RTRIM(' sql_in_a_nutshell ')
GO MySQL Select LTRIM(' sql_in_a_nutshell'),Select RTRIM('sql_in_a_nutshell '),Select TRIM(' sql_in_a_nutshell '),Select TRIM(BOTH FROM ' sql_in_a_nutshell ');oracle Select LTRIM(' sql_in_a_nutshell'),Select RTRIM('sql_in_a_nutshell '),TRIM(' sql_in_a_nutshell ')
FROM dual;PostgreSQL Select TRIM(LEADING FROM ' sql_in_a_nutshell'),TRIM(TRAILING FROM 'sql_in_a_nutshell '),TRIM(BOTH FROM ' sql_in_a_nutshell ');3,上面清除空格相反的操作,添加空格Microsoft SQL Server Not supported MySQL Select LPAD('sql_in_a_nutshell', 20, ' '),RPAD('sql_in_a_nutshell', 20, ' ');oracle Select LPAD(('sql_in_a_nutshell', 20, ' '),RPAD(('sql_in_a_nutshell', 20, ' ')
FROM dual;PostgreSQL Select LPAD('sql_in_a_nutshell', 20, ' '),RPAD('sql_in_a_nutshell', 20, ' ');上面支持该操作的数据库的函数都相同,并且都包括从左和右添加空格的方法。
4,字符串替换Microsoft SQL Server [returns 'wabbit_hunting_season'] Select STUFF('wabbit_season', 7, 1, '_hunting_')
GO MySQL [returns 'wabbit_hunting_season'] Select REPLACE('wabbit_season','it_','it_hunting_');oracle [returns 'wabbit_hunting_season'] Select REPLACE('wabbit_season','it_','it_hunting_')
FROM dual;PostgreSQL Select TRANSLATE('wabbit_season','it_','it_hunting_');Select replace('wabbit_season','it_','it_hunting_');5,字符串截取Microsoft SQL Server Select SUBSTRING('wabbit_duck_season', 7, 11)
GO MySQL Select SUBSTRING('wabbit_duck_season', 7, 11);oracle Select SUBSTR('wabbit_duck_season', 7, 11)
FROM dual;PostgreSQL Select SUBSTR('wabbit_duck_season', 7, 11);三,条件判断1,条件判断Microsoft SQL Server Select CASE WHEN foo = 'hi' THEN 'there' WHEN foo = 'good' THEN 'bye' ELSE 'default' END FROM t2 GO MySQL select if(('11'='11'),'1','2')
select if(2>1,'1','2')
oracle Select DECODE(payments_info,'CR','Credit','DB','Debit', null)
FROM dual;PostgreSQL Select CASE WHEN foo = 'hi' THEN 'there' WHEN foo = 'good' THEN 'bye' ELSE 'default' END FROM t2;上面的函数我们就不多作解释了,很容易理解,我们来说一下mysql的if()函数,如果第一个参数为true那么返回地二个参数,否则返回第三个参数。
2,判断空函数
Microsoft SQL Server Select ISNULL(foo, 'Value is Null')
GO MySQL select ifnull(122,'aaa')
oracle Select NVL(foo,'Value is Null')
FROM dual;PostgreSQL Select coalesce(foo,'Value is Null')
3,下面与上面的函数不同Microsoft SQL Server [returns NULL when foo equates to 'Wabbits!'] Select NULLIF(foo, 'Wabbits!')
GO MySQL N/A oracle Select DECODE(foo,'Wabbits!',NULL)
FROM dual;PostgreSQL Select NULLIF(foo, 'Wabbits!');函数语法:NULLIF(expression1, expression2)
如果 expression1 等于 expression2则返回 NULL,如果expression1的值为null,也返回NULL

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Ya, MySQL boleh dipasang pada Windows 7, dan walaupun Microsoft telah berhenti menyokong Windows 7, MySQL masih serasi dengannya. Walau bagaimanapun, perkara berikut harus diperhatikan semasa proses pemasangan: Muat turun pemasang MySQL untuk Windows. Pilih versi MySQL yang sesuai (komuniti atau perusahaan). Pilih direktori pemasangan yang sesuai dan set aksara semasa proses pemasangan. Tetapkan kata laluan pengguna root dan simpan dengan betul. Sambung ke pangkalan data untuk ujian. Perhatikan isu keserasian dan keselamatan pada Windows 7, dan disyorkan untuk menaik taraf ke sistem operasi yang disokong.

MySQL adalah sistem pengurusan pangkalan data sumber terbuka. 1) Buat Pangkalan Data dan Jadual: Gunakan perintah Createdatabase dan Createtable. 2) Operasi Asas: Masukkan, Kemas kini, Padam dan Pilih. 3) Operasi lanjutan: Sertai, subquery dan pemprosesan transaksi. 4) Kemahiran Debugging: Semak sintaks, jenis data dan keizinan. 5) Cadangan Pengoptimuman: Gunakan indeks, elakkan pilih* dan gunakan transaksi.

Sambungan MySQL mungkin disebabkan oleh sebab -sebab berikut: Perkhidmatan MySQL tidak dimulakan, firewall memintas sambungan, nombor port tidak betul, nama pengguna atau kata laluan tidak betul, alamat pendengaran di my.cnf dikonfigurasi dengan tidak wajar, dan lain -lain. Langkah -langkah penyelesaian masalah termasuk: 1. 2. Laraskan tetapan firewall untuk membolehkan MySQL mendengar port 3306; 3. Sahkan bahawa nombor port adalah konsisten dengan nombor port sebenar; 4. Periksa sama ada nama pengguna dan kata laluan betul; 5. Pastikan tetapan alamat mengikat di my.cnf betul.

Tidak dapat mengakses MySQL dari terminal mungkin disebabkan oleh: perkhidmatan MySQL tidak berjalan; ralat perintah sambungan; kebenaran yang tidak mencukupi; sambungan blok firewall; Ralat fail konfigurasi MySQL.

Penyelesaian kepada ralat pemasangan MySQL adalah: 1. Berhati -hati memeriksa persekitaran sistem untuk memastikan keperluan perpustakaan ketergantungan MySQL dipenuhi. Sistem operasi dan keperluan versi yang berbeza adalah berbeza; 2. Berhati -hati membaca mesej ralat dan mengambil langkah -langkah yang sepadan mengikut arahan (seperti fail perpustakaan yang hilang atau kebenaran yang tidak mencukupi), seperti memasang kebergantungan atau menggunakan arahan sudo; 3 Jika perlu, cuba pasang kod sumber dan periksa dengan teliti log kompilasi, tetapi ini memerlukan pengetahuan dan pengalaman Linux tertentu. Kunci untuk menyelesaikan masalah akhirnya adalah dengan teliti memeriksa persekitaran sistem dan maklumat ralat, dan merujuk kepada dokumen rasmi.

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Sebab utama kegagalan pemasangan MySQL adalah: 1. Isu kebenaran, anda perlu menjalankan sebagai pentadbir atau menggunakan perintah sudo; 2. Ketergantungan hilang, dan anda perlu memasang pakej pembangunan yang relevan; 3. Konflik pelabuhan, anda perlu menutup program yang menduduki port 3306 atau mengubah suai fail konfigurasi; 4. Pakej pemasangan adalah korup, anda perlu memuat turun dan mengesahkan integriti; 5. Pembolehubah persekitaran dikonfigurasikan dengan salah, dan pembolehubah persekitaran mesti dikonfigurasi dengan betul mengikut sistem operasi. Selesaikan masalah ini dan periksa dengan teliti setiap langkah untuk berjaya memasang MySQL.
